home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / rbbs_pc / msgtos13.zip / MSGTOSS.DOC < prev    next >
Text File  |  1990-03-31  |  122KB  |  2,905 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                              MSGTOSS  Version 1.3
  15.  
  16.               High-Performance FidoNet Message Tosser for RBBS-PC
  17.  
  18.                                Released 03/31/90
  19.  
  20.                      Copyright (c) 1989-90, Mike Zakharoff
  21.  
  22.                       FidoNet 1:343/36  RBBS-NET 8:918/1
  23.  
  24.                               Data:(206)631-3231
  25.  
  26.                             INTERSTATE BBS NETWORK
  27.                                 P.O. BOX 58813
  28.                                Renton, WA 98058
  29.  
  30.                               ALL RIGHTS RESERVED
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.                                       PAGE: 1
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.                                 MSGTOSS Version 1.3
  69.  
  70.  
  71.                                TABLE OF CONTENTS
  72.                                -----------------
  73.  
  74.          Table Of Contents......................................  2
  75.          Purpose................................................  3
  76.          Speed Of Message Importing.............................  3
  77.          Msgtoss Is Shareware...................................  3
  78.          Warranties.............................................  4
  79.          What Msgtoss Won't Do..................................  4
  80.          Credit Where Credit Is Due.............................  4
  81.          Msgtoss Beta Testers...................................  4
  82.          Rbbs Conferences Verses Echomail Doors.................  5
  83.          Assumptions............................................  6
  84.          Msgtoss Theory Of Operation............................  6
  85.             Un-arch Mail Packets................................  6
  86.             Analyze Pkt Files...................................  7
  87.             Purge/expand Message Bases..........................  7
  88.                Sysop And User Messages..........................  8
  89.                Tossing Into Rbbs Message Bases..................  9
  90.                Duplicate Messages...............................  9
  91.                Oversized Messages...............................  9
  92.                Bad Date, Message Header.........................  9
  93.                Unknown Messages................................. 10
  94.                Setting The Right Margin Of The Messages......... 10
  95.                Stripping Out Echomail Control Lines............. 10
  96.                Elastic Message Bases............................ 11
  97.                Extremely Large Message Bases.................... 11
  98.                Tossing Display.................................. 12
  99.                After Tossing The Packet......................... 12
  100.             Set Mailwaiting Bit................................. 13
  101.             Create Log File..................................... 13
  102.             Create Misc Bat/cmd/ctl Files....................... 14
  103.          Theory Of Operation Summary............................ 15
  104.          Msgtoss.bbs Areas File................................. 15
  105.             Msgtoss.bbs File.................................... 15
  106.             General............................................. 15
  107.             Rbbs Message Bases.................................. 16
  108.             Fido Style Conferences.............................. 16
  109.          Msgtoss.cfg Configuration File......................... 17
  110.          Command Line Switches.................................. 25
  111.          Msgtoss Utilities...................................... 30
  112.          Installation........................................... 32
  113.             Important Spaz Information.......................... 34
  114.             Preliminary Testing................................. 34
  115.             First Tossing Test.................................. 35
  116.             Frontend Mailer Batch File Modification............. 35
  117.             Batch File Example.................................. 36
  118.          Bad Packets, Severe Errors, Overflows.................. 37
  119.          Epilog................................................. 38
  120.          Performance Optimization............................... 38
  121.          Msgtoss.eid Database File Structure.................... 40
  122.          Revisions/bug Fixes.................................... 42
  123.  
  124.  
  125.  
  126.                                       PAGE: 2
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.                                 MSGTOSS Version 1.3
  135.  
  136.  
  137.                                     PURPOSE
  138.                                     -------
  139.  
  140.     MSGTOSS was designed to allow RBBS-PC sysops import Fidonet  compatible
  141.     Echomail or Netmail into RBBS-PC message bases, in a fast and efficient
  142.     manner.  This is accomplished by:
  143.  
  144.        1) Un-arching the message packets
  145.        2) Analyzing each packet
  146.        3) Pre-purge or pre-expand the message bases as required
  147.        4) Toss messages to either (or both) RBBS or Fido format
  148.        5) Set the RBBS 'mailwaiting bits'
  149.        6) Maintain a MSGTOSS.LOG file
  150.        7) Create BAT/CTL/CMD files for system maintenance
  151.  
  152.     MSGTOSS imports messages DIRECTLY from Fidonet compatible message pack-
  153.     ets (referred to as *.PKT files) into RBBS message bases.   This direct
  154.     importing feature makes tossing of messages extremely fast.  It was de-
  155.     signed to be used in conjunction with MSGRENUM and FIXMSG (for  message
  156.     base re-numbering & repairing),  however,  any other similar  utilities
  157.     may be used as well.
  158.  
  159.     MSGTOSS was designed to optimize disk space by keeping message bases as
  160.     full  as  possible,  and  at the same improve  the  user  interface  by
  161.     allowing  external system maintenance utilities to be used,  such as V.
  162.     Dasa's SUBJECT utility.
  163.  
  164.  
  165.                           SPEED OF MESSAGE IMPORTING
  166.                           --------------------------
  167.  
  168.     This is a relative comparison, but MSGTOSS will toss messages into RBBS
  169.     message  bases directly from *.PKT file at a rate of approximately  318
  170.     messages  per minute (no duplicate checking).  This is based on  an  12
  171.     mhz  IBM  AT  clone with a 384K disk cache.   Actual  speed  will  vary
  172.     considerbly.   Users with high performance 386 machines  have  reported
  173.     tossing throughput of over 700 messages per minute.   One off the great
  174.     assets of MSGTOSS is the practicality of carrying hundreds of echos  on
  175.     a single RBBS system,  where speed of importing (prior to MSGTOSS)  was
  176.     prohibitive.
  177.  
  178.  
  179.                              MSGTOSS IS SHAREWARE
  180.                              --------------------
  181.  
  182.     MSGTOSS  is  being  offered as SHAREWARE.   MSGTOSS  was  not  an  easy
  183.     project,  as it took 1000's of hours to develop and test.   The  author
  184.     has written other RBBS utilities such as MSGRENUM,  MAILWAIT,  MSGECHO,
  185.     FIXMSG, all of which were released as freeware;  none of which compares
  186.     to the complexity of MSGTOSS.   Future releases of MSGTOSS will  depend
  187.     upon  how much support the author receives.   Therefore the  author  is
  188.     asking  for  a minimum contribution of $15.00 (or whatever  amount  you
  189.  
  190.  
  191.  
  192.                                       PAGE: 3
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.                                 MSGTOSS Version 1.3
  201.  
  202.     think its worth to your system) for the use of MSGTOSS, to:
  203.  
  204.                             INTERSTATE BBS NETWORK
  205.                                 P.O. BOX 58813
  206.                                RENTON, WA 98058
  207.  
  208.     Registered users will receive as much personal support (and bug  fixes)
  209.     as possible.  Non-supporters will basically be on their own.
  210.  
  211.  
  212.                                   WARRANTIES
  213.                                   ----------
  214.  
  215.     MSGTOSS is guaranteed only to occupy space on your hard drive and could
  216.     (without warning) muck up all your message/users files to the point  of
  217.     non-use  at anytime (just kidding)...  therefore the use of MSGTOSS  is
  218.     solely at your own risk!   MSGTOSS had been beta tested extensively  to
  219.     eliminate  bugs.   Also,  there are no guarantees that the author  will
  220.     upgrade MSGTOSS.
  221.  
  222.  
  223.                              WHAT MSGTOSS WON'T DO
  224.                              ---------------------
  225.  
  226.     Currently,  MSGTOSS does NOT provide SCANNING or EXPORTING of  messages
  227.     from either RBBS message bases or from Fido-style sub-directories.   To
  228.     accomplish this you will need RBBSMAIL and CONFMAIL (or equivalent)  to
  229.     do this.  Therefore,  a general knowledge of these other utilities  are
  230.     required to set up a totally automated mail system.
  231.  
  232.  
  233.                           CREDIT WHERE CREDIT IS DUE
  234.                           --------------------------
  235.  
  236.     Credit is due to Tom Mack,  Jon Martin and Ken Goosans for creating and
  237.     maintaining RBBS-PC.   RBBS-PC still sets the standard.   In  addition,
  238.     credit is due to Kim Wells for first linking RBBS into the Fidonet com-
  239.     munity,  and  for creating some outstanding RBBS  utilities  (MU-PURGE,
  240.     MU-EDIT,  etc.).   Credit is also due to those sysops who have  created
  241.     some  excellent RBBS door applications for Fidonet;  to mention a  few,
  242.     Bob Wescott,  Scott Baker & Darwin Collins.  Also, credit is due to Dan
  243.     Thomson, Andrew Farmer & Jeff Nonken (authors of SPAZ), who granted my-
  244.     self  permission  to distribute SPAZ (un-altered)  within  the  MSGTOSS
  245.     archive.   Credit is also due to Bob Hartman and Jan Terpstra, for cre-
  246.     ating  CONFMAIL  and  RBBSMAIL respectively;  which  MSGTOSS  partially
  247.     emulates.   Lastly, credit is due to my wonderful wife Kathryn, who put
  248.     up  with me during all this software development.   All of these  folks
  249.     (in their own way), enhanced RBBS-PC in some manner or fashion.
  250.  
  251.  
  252.                              MSGTOSS BETA TESTERS
  253.                              --------------------
  254.  
  255.  
  256.  
  257.  
  258.                                       PAGE: 4
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.                                 MSGTOSS Version 1.3
  267.  
  268.     To  those MSGTOSS beta testers, who blindingly exposed  their  precious
  269.     RBBS  message  bases to the early attempts of MSGTOSS;  Greg  Popovich,
  270.     Gray Shockley,  Mark Annis, Vaishnava Dasa, Tim Jacobs,  Jan Maaskant &
  271.     Stan Staten ....  thankyou.   In addition, these people spent their own
  272.     $$$  sending me crashed *.PKT files for me to analyze and create  fixes
  273.     for, calling me voice, and picking up new beta versions.
  274.  
  275.  
  276.                     RBBS CONFERENCES VERSES ECHOMAIL DOORS
  277.                     --------------------------------------
  278.  
  279.     Maintaining RBBS message bases for each echo area is more  professional
  280.     compared  to a Echomail door application.   Users frequently  are  very
  281.     familiar  with the message base commands of RBBS because they  had  al-
  282.     ready left messages to other users/comments to the sysop.  In addition,
  283.     users  are  notified when they have local -or-  conference  mailwaiting
  284.     when  they first logon the system.  This would encourage users to  look
  285.     at and use the echo conference areas on a frequent basis.
  286.  
  287.     In addition, the sysop can use the built-in Programmable User Interface
  288.     (PUI)  features of RBBS to create some very unique echo  areas  (menus,
  289.     welcome  files,  etc.),  limited only by the sysops creativity.   Also,
  290.     more and more built-in features are being coded into RBBS,  geared spe-
  291.     cifically  for Echomail;  such as hiding of SEEN-BY:  and PATH:  lines,
  292.     with built-in Netmail not far away.  It make sense to take advantage of
  293.     these new featues.
  294.  
  295.     From a system point of view, RBBS message bases offer very fast message
  296.     base searches (the message base is only ONE single pre-formatted file),
  297.     and  support  file and record-locking features needed in  a  multi-user
  298.     environment.    In addition,  the message bases can hold  thousands  of
  299.     messages  without burdening the hard disk of thousands of single  files
  300.     (like Fidonet messages).
  301.  
  302.     When  using an Echomail door application, the user must 'EXIT'  to  the
  303.     door  in  order to check for personal messages -or- to enter  new  mes-
  304.     sages.   The user is NOT notified of new mail when he logs on the  sys-
  305.     tem.   A door application frequently uses message commands very differ-
  306.     ent  than  what  they (the users) are used  to.   Therefore  users  are
  307.     required  to maintain two different sets of message base commands;  one
  308.     for the main system messages,  and one for the Echomail door.  In addi-
  309.     tion,  this approach poses problems when multiple nodes are used on the
  310.     system.  File sharing/record locking needs to be addressed  to  prevent
  311.     undesirable events such as 'permission-denied'  errors from  occurring.
  312.     Also,  there is a time-delay imposed on the user because the door needs
  313.     to  be loaded into memory and when returning the BBS also needs  to  be
  314.     reloaded.   Also,  this loading and unloading also creates a 'risk'  of
  315.     the system crashing, as most sysops who run many doors can attest.
  316.  
  317.     Because each Fidonet message is a separate file (1.msg,  2.msg,  3.msg,
  318.     etc.) message searches take long periods of time.  In addition,  if you
  319.     maintain  a  significant number of echo areas,  the system  hard  drive
  320.     performance  will be degraded due the large numbers of  files  (FidoNet
  321.  
  322.  
  323.  
  324.                                       PAGE: 5
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.                                 MSGTOSS Version 1.3
  333.  
  334.     messages)  located  on  the system.   And lastly,  some  users  do  not
  335.     understand the concept of doors and are hesitant to use them.
  336.  
  337.     However,  door programs do have many more features  than  vanilla-brand
  338.     RBBS message bases.   Features like full-screen editors,  mail  pickup, 
  339.     etc.  add to the desirability of a door application,  and the speed  of
  340.     processing  with a door (previously) added to the  flavor....  However,
  341.     with MSGTOSS available, the speed factor is not as important.
  342.  
  343.  
  344.                                   ASSUMPTIONS
  345.                                   -----------
  346.  
  347.     NOTE: This document assumes the following:
  348.  
  349.           1) You have an operating RBBS bulletin board
  350.           2) You are connected to Fidonet with a node number
  351.           3) You are already receiving mail packets daily
  352.           4) You are using a front end mailer (Binkley SeaDog FrontDoor)
  353.           5) You are already using RBBSMAIL to import/export messages
  354.  
  355.     It  is not in the scope of this document to teach you how to set  up  a
  356.     Fidonet  system.  You  will have to  obtain  the  previously  mentioned
  357.     utilities and thoroughly read the  documentation on each of them  thor-
  358.     oughly.   A helping hand of another RBBS sysop is the *best* way to get
  359.     started.   However,  converting  from a door application  should  be  a
  360.     relatively easy task.
  361.  
  362.  
  363.                           MSGTOSS THEORY OF OPERATION
  364.                           ---------------------------
  365.  
  366.     There are 7 phases to the TOSSING of messages:
  367.  
  368.         1) Un-arch mail packets
  369.         2) Analyze *.PKT or *.OUT files
  370.         3) Purge/expand RBBS message bases as required
  371.         4) Toss messages (RBBS message bases or Fido)
  372.         5) Set the mailwaiting bit for conference users
  373.         6) Create a MSGTOSS.LOG file for message base activity
  374.         7) Create miscellaneous BAT/CMD/CTL files for other maintenance.
  375.  
  376.  
  377.     UN-ARCH MAIL PACKETS
  378.     --------------------
  379.     Incoming mail packets are received by your respective front-end  mailer
  380.     as either archived (*.MO*,  *.TU*, etc.) or as a regular *.PKT or *.OUT
  381.     packet.
  382.  
  383.     SPAZ will detect what type of archive it is and unpack it into the  de-
  384.     fault  directory (where you executed MSGTOSS) or to your inbound  files
  385.     directory.   You  will  have to modify  the  UNARCH---->  parameter  to
  386.     provide the correct SPAZ command line.
  387.  
  388.  
  389.  
  390.                                       PAGE: 6
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.                                 MSGTOSS Version 1.3
  399.  
  400.  
  401.            NOTE: It should also be noted that you can execute SPAZ exterior
  402.                  MSGTOSS  by  simply placing the UNARCH---->  parameter  in
  403.                  your  batch  file,  and  commenting  out  the  UNARCH---->
  404.                  parameter  in your MSGTOSS.CFG file.   It has  been  found
  405.                  that  SOME computers do not like MSGTOSS shelling  out  to
  406.                  execute SPAZ.  In addition, this also saves some memory.
  407.  
  408.  
  409.     ANALYZE PKT FILES
  410.     -----------------
  411.     MSGTOSS will then read the contents of each *.PKT or *.OUT and create a
  412.     corresponding  *.IDX  file  for each packet.   IE:  If  the  packet  is
  413.     11112222.PKT  it will create a file called 11112222.IDX which  contains
  414.     information about each message in each of the packets.   This occurring
  415.     should  be transparent to the user, as MSGTOSS will create  and  delete
  416.     these *.IDX files as required.  This analyzation phase is critical,  as
  417.     MSGTOSS needs to know exactly how much space is required to import  new
  418.     messages.
  419.  
  420.     When MSGTOSS is executed, it first looks for a corresponding *.IDX file
  421.     and if it finds one,  it will NOT re-analyze the *.PKT file but  rather
  422.     read the *.IDX file  to get its information.  If however,  it discovers
  423.     that the original *.IDX file was created using the "/SECL"  switch (see
  424.     command line switches), and the current execution of MSGTOSS is without
  425.     the "/SECL" switch, then MSGTOSS will re-analyze if required.
  426.  
  427.  
  428.     PURGE/EXPAND MESSAGE BASES
  429.     --------------------------
  430.     After  the analyzing phase,  MSGTOSS then knows how much space will  be
  431.     required  to successfully import the messages contained in each of  the
  432.     *.PKT files received.   It will then either PURGE the message bases  or
  433.     EXPAND  (or both) prior to tossing.  If you specified the /PREP  switch
  434.     (pre-purge),  MSGTOSS will first load all of the USERS in a  particular
  435.     conference  in memory,  and will commence to purge  non-user  messages. 
  436.     This is accomplished via a 'pack-in-place'  method,  where the messages
  437.     flagged to keep will be 'shuffled' to the beginning of the RBBS message
  438.     base, as others are being deleted.
  439.  
  440.     NOTE:  It should be noted that MSGTOSS will purge ONLY ENOUGH  messages
  441.            for successful importation.  Therefore, if only 2-3 messages are
  442.            received  in  a particular conference,  then  roughly  the  same
  443.            amount  will  be purged (if there isn't enough  space  to  begin
  444.            with).
  445.  
  446.     NOTE:  MSGTOSS can handle roughly 2000 users in memory at any one time. 
  447.            If MSGTOSS detects that it is running out of memory as users are 
  448.            being  loaded,  it  will stop loading in  memory  and  page  the
  449.            remaining users to disk.   This causes the purging to be  slower
  450.            (but  more complete).   For optimum operation,  try to keep  the
  451.            sizes of your conference users under 2000.
  452.  
  453.  
  454.  
  455.  
  456.                                       PAGE: 7
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.                                 MSGTOSS Version 1.3
  465.  
  466.     To  prevent messages from being purged before the sysop  or  conference
  467.     users have had a chance to read them,  the MSGTOSS will make sure these
  468.     messages are not purged, with the following exceptions.
  469.  
  470.              SYSOP AND USER MESSAGES
  471.              -----------------------
  472.                1) The message has already been killed.
  473.  
  474.                2) If the message has already been read (and the  DELREADSYS
  475.                   or DELREADUSR parameter is set to 'YES'  then it will  be
  476.                   purged.
  477.  
  478.                3) If the message is TO the SYSOP,  and the message is OLDER
  479.                   than  XX  days as specified in the  DAYSTOSYS  parameter,
  480.                   then it will be purged.
  481.  
  482.                4) If  the  message is FROM the SYSOP,  and the  message  is
  483.                   OLDER  then  XX  days  as  specified  in  the   DAYSFRSYS
  484.                   parameter, then it will be purged.
  485.  
  486.                5) Same  as  the above steps 2,  3 & 4 but  applies  to  the
  487.                   conference  USERS,   and  the  affected  parameters   are
  488.                   DELREADUSR, DAYSTOUSR & DAYSFRUSR, respectively.
  489.  
  490.                5) Messages that contain the text 'NOECHO' as the very first
  491.                   text,  will be exempt from purging.   This allows confer-
  492.                   ence RULES to be posted without being purged.
  493.  
  494.     This is an important concept for MSGTOSS,  as messages left TO/FROM the
  495.     users (and the sysop)  of the conference WILL NOT be deleted until they
  496.     are either killed or their time limit has run out (as specified by  the
  497.     various DAYSTO???/DAYSFR??? parameters).
  498.  
  499.     If after the 'pack-in-place' purging there is still not enough space to
  500.     import all of those messages,  MSGTOSS will EXPAND the message base  as
  501.     it sees fit to allow successful importation.
  502.  
  503.     If you specified the /PREX (pre-expand) switch,  then MSGTOSS will sim-
  504.     ply EXPAND the message base as it sees fit and continue on.  At a later
  505.     time (say at a night event) to can CHOP the message bases back down  to
  506.     their original size by issuing the /SIZE or /SIZE-UP switches.
  507.  
  508.     If  you  add  the switch /FIX to the command line,  then  MSGTOSS  will
  509.     automatically  SHELL  to FIXMSG if it detects a  corrupt  message  file
  510.     while doing the purge.   It will execute FIXMSG twice,  and if it still
  511.     fails to correct the problem MSGTOSS will simply abort.
  512.  
  513.     If you use the switch /FIXC switch (instead),  MSGTOSS will do the same
  514.     as above,  but will copy the BLANK message base (model) as specified by
  515.     the BLANKMSG---> parameter over the corrupt message base, and rename it
  516.     to *.BAD.  This prevents MSGTOSS from aborting due to a corrupt message
  517.     base.
  518.  
  519.  
  520.  
  521.  
  522.                                       PAGE: 8
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.                                 MSGTOSS Version 1.3
  531.  
  532.  
  533.     TOSSING INTO RBBS MESSAGE BASES
  534.     -------------------------------
  535.     After  the  RBBS  message  bases were prepared  for  the  new  messages
  536.     (purged,  expanded,  etc.), they are now ready to receive new messages. 
  537.     MSGTOSS will then toss each of the messages contained in *.PKT files to
  538.     either  an  RBBS message file,  or to a sub-directory in  Fido  Message
  539.     form.
  540.  
  541.          DUPLICATE MESSAGES
  542.          ------------------
  543.          MSGTOSS handles duplicate checking alot different than other  mail
  544.          processors.   It creates and maintains a duplicate  database  file
  545.          called MSGTOSS.EID.   This file is a random access file that  con-
  546.          tains all of the EID:,  MSGID:, and MSGTOSS generated ID codes for
  547.          the  last XXXX messages,  as specified by your DUPSIZE  parameter,
  548.          for  all  of  your  conferences.    The  reason  for  the   single
  549.          database-type  format is simple,  opening and closing files  takes
  550.          time,  and having a single file that is opened all the  time  will
  551.          make it faster.   The database structure is documented in the back
  552.          of this document.
  553.  
  554.          NOTE: When using the work directory switch (/WDIR),  MSGTOSS  will
  555.                automatically copy the MSGTOSS.EID database file to the  RAM
  556.                disk  (as specified by the WORKDIR---> parameter)  prior  to
  557.                tossing for faster operation.  After tossing,  MSGTOSS  will
  558.                automatically copy it back to preserve its data.
  559.  
  560.          MSGTOSS  will check for duplicates during the tossing phase  (must
  561.          specify the /CDUP switch), and if one is encountered,  will simply
  562.          ignore the message and display in informational line of the dupli-
  563.          cate while tossing.   If you specified the /DLOG (Maintain Dup Log
  564.          File) then when a duplicate is encountered MSGTOSS will append the
  565.          date,  pkt,  msg number,  area and net/node of originating  system
  566.          into a file called MSGTOSS.DUP. 
  567.  
  568.          NOTE:  The  areas  UNKNOWN  and  ROUTETHRU  are  exempt  from  dup
  569.          checking.
  570.  
  571.          OVERSIZED MESSAGES
  572.          ------------------
  573.          There  is  no  SIZE LIMIT of an imported  message.   MSGTOSS  will
  574.          import  without problems an entire BOOK if asked to.   During  the
  575.          toss,  however, messages that are known to be over-sized (over the
  576.          limit specified by the KILLOVER parameter) will be simply ignored. 
  577.          This prevents your message bases from being un-duly large due to a
  578.          few anti-social messages.   If you are acting as a HUB,  then  you
  579.          should  set  the  KILLOVER parameter very high to  make  sure  all
  580.          messages are imported properly.
  581.  
  582.          BAD DATE, MESSAGE HEADER
  583.          ------------------------
  584.          Messages  that are found to contain bad dates will be logged  into
  585.  
  586.  
  587.  
  588.                                       PAGE: 9
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.                                 MSGTOSS Version 1.3
  597.  
  598.          the MSGTOSS.ERR file,  but will be tossed anyway.   MSGTOSS does a
  599.          good job interpreting the various forms of dates that show up in a
  600.          *.PKT file,  however,  some it will not handle (like typos).   For
  601.          these  messages,   MSGTOSS  will  convert  the  date  to   'Todays
  602.          Date/Time'  for RBBS message bases.  If tossing as a Fido message,
  603.          it will leave the date intact (as it was).
  604.  
  605.          For  messages  that have flakey message  headers  (grunged,  etc.)
  606.          MSGTOSS  will  just  ignore  the  message  and  log  it  into  the
  607.          MSGTOSS.ERR file, along with the flakey header.
  608.  
  609.          MSGTOSS  does not bother tossing 'bad'  messages,  this just  adds
  610.          more  work  for  the sysop.  Instead, MSGTOSS  will  log  the  bad
  611.          message into the MSGTOSS.ERR file,  and it will tell you want went
  612.          wrong.
  613.  
  614.          UNKNOWN MESSAGES
  615.          ----------------
  616.          Messages  that  are  found to contain unknown AREA  tags  will  be
  617.          tossed  into  the  Fido directory or RBBS message  bases  that  is
  618.          specified for the UNKNOWN area.  The UNKNOWN area is required, but
  619.          if you specify the '/KUNK'  (Kill Unknown) switch they will be ig-
  620.          nored.   Messages marked as UNKNOWN that are tossed will be tossed
  621.          along  with their original AREA:xxxx tag and are exempt  from  dup
  622.          and  size checking (even with the /CDUP switch),  therefore,  this
  623.          functions as a PASSTHRU area.
  624.  
  625.          SETTING THE RIGHT MARGIN OF THE MESSAGES
  626.          ----------------------------------------
  627.          RBBS  messages  are  normally formated to a right  margin  of  72. 
  628.          If you set your MARGIN----> parameter in your MSGTOSS.CFG file  to
  629.          say 77,  then the imported messages may look more proper,  as most
  630.          BBS systems allow right margins of 79.   Editing of these messages
  631.          may be more difficult, because RBBS expects messages to be 72.
  632.  
  633.          In addition,  the "/MRGN:xx"  command line switch allows overiding
  634.          of the  MARGIN---> parameter.   This can be used  for  specialized
  635.          applications  like  tossing into a 40 column format  for  selected
  636.          echo  areas  (like commodore machines) while  tossing  other  echo
  637.          areas  in  the regular 72 - 77 column  format.   Tossing  selected
  638.          echos   into  40  column  format  can  be  accomplished  via   the
  639.          "/AREA:xxx" or "/AREA:@listfile.ext" command line switch.
  640.  
  641.          STRIPPING OUT ECHOMAIL CONTROL LINES
  642.          ------------------------------------
  643.          Echomail  contains  alot "control lines"  which are  normally  not
  644.          displayed to the user.   These lines such as "SEEN-BY:",  "PATH:"
  645.          and  "EID:"  lines can be stripped out of the  RBBS  messages  by
  646.          using the "/SECL" switch in conjunction with the "/FMAS" switch.
  647.  
  648.          The  type  of  lines  to  be  stripped  are  configured  via   the
  649.          "SECL-------->" parameter entries in the MSGTOSS.CFG file.   These
  650.          entries  allow  the sysop to decide exactly what lines are  to  be
  651.  
  652.  
  653.  
  654.                                       PAGE: 10
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.                                 MSGTOSS Version 1.3
  663.  
  664.          ignored and up to 20 "SECL-------->" entries are possible.
  665.  
  666.          This allows as many messages to be imported into the RBBS  message
  667.          base(s)  in  the  allocated  space  defined.   These switches  and
  668.          parameters are explained further in this document.
  669.  
  670.          ELASTIC MESSAGE BASES
  671.          ---------------------
  672.          MSGTOSS  by  default is always checking that  the  "max  messages"
  673.          value  that is present in the message base "checkpoint record"  is
  674.          always  in accordance with RBBS-PC standards (can be modified  and
  675.          explained further in the "/MAXM:xx" switch section).  If you elect
  676.          to use the elastic message bases first introduced in RBBS 17-2 you
  677.          simply set the "ELASTIC---->"  parameter to "YES".   Basically all
  678.          this  does  is whenever MSGTOSS tries to set  the  "max  messages"
  679.          value,  it  will  set  it to  the  value  of  the  "RBBS-MAX---->"
  680.          parameter (currently 999).
  681.  
  682.          NOTE: For  proper  operation  of the ELASTIC  message  bases,  the
  683.                MAINT%LO and MAINT%HI parameters should be set to a value of
  684.                100  each.   This tells MSGTOSS during purging,  sizing  and
  685.                tossing to leave as little amount of slack space at the  end
  686.                of  the message bases as possible (100 percent full  at  all
  687.                times).   RBBS will expand the message bases as users  enter
  688.                new messages.   In addition, RBBSMAIL will cut off any slack
  689.                present in the message base during a scan mode (when set for
  690.                ELASTIC operation).
  691.  
  692.          EXTREMELY LARGE MESSAGE BASES
  693.          -----------------------------
  694.          If  you keep extremely large message bases (over 4000 records)  it
  695.          is possible for your message bases to exceed the (current) RBBS-PC
  696.          maximum of 999 messages per message base.
  697.  
  698.          NOTE: The maximum of 999 may soon change to 9999,  so this is  why
  699.                the "RBBS-MAX---->"  parameter is present in the MSGTOSS.CFG
  700.                file.    The  default  entry  is  999,  which  reflects  the
  701.                "current"  RBBS-PC  maximum.   In the event the  maximum  is
  702.                raised   (future   releases   of   RBBS-PC)   the    MSGTOSS
  703.                "RBBS-MAX--->" parameter will have to be adjusted.
  704.  
  705.          The  formula  used  to  trigger a pre-count  is  (RBBS-MAX  *  4),
  706.          where  if  the  number of records exceed this  amount,  that  will
  707.          cause a pre-count of the messages prior to tossing. Example:
  708.  
  709.             RBBS-MAX = 999, "precount" = (999 * 4), Trigger = 3996 recs
  710.  
  711.          Therefore MSGTOSS will do a "pre-count"  of the messages prior  to
  712.          tossing.  This "pre-count" is automatic and is triggered only when
  713.          MSGTOSS senses a (RBBS-MAX * 4) record (or greater) message base.
  714.  
  715.          In  the  event of an "overflow", MSGTOSS will not allow  any  more
  716.          messages  to  be imported into the message base,  but  will  allow
  717.  
  718.  
  719.  
  720.                                       PAGE: 11
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.                                 MSGTOSS Version 1.3
  729.  
  730.          other message bases to be processed as normal.  After the *.PKT is
  731.          tossed  normally,  MSGTOSS will re-name the *.PKT  to  *.OFL  (for
  732.          overflow)  and  log  the  occurance  of  the  overflow  into   the
  733.          MSGTOSS.LOG  and MSGTOSS.ERR files.   The sysop can then elect  to
  734.          fix  the  overflow  problem,  or simply  delete  the  *.OFL  file. 
  735.          Tossing of selected echos are possible via the "/AREA:xxx" command
  736.          line switch (see "/AREA:xxx" switch).
  737.  
  738.          So....  If  your COMM echo overflowed (probably because  you  were
  739.          using  the  "/PREX"  (pre-expand) switch)  you  can  recover  lost
  740.          messages  by  renaming  the  *.OFL  files  to  *.PKT,  and  simply
  741.          re-tossing using the the "/AREA:xxx" switch as follows:
  742.  
  743.          MSGTOSS /TOSS /PREP /CDUP /MWSET /AREA:COMM <rtn>
  744.  
  745.          NOTE: When using the "/AREA:xxx" switch, MSGTOSS will *NOT* delete
  746.                the  *.PKT or *.IDX file after processing *unless* the  area
  747.                you  selected  to toss happened to be the only area  in  the
  748.                *.PKT file and all were tossed normally.
  749.  
  750.          TOSSING DISPLAY
  751.          ---------------
  752.          During the tossing phase, alot of tossing activity is displayed to
  753.          the  user.   If you would like to suppress this,  simply  add  the
  754.          '/DDA'  switch to the MSGTOSS command line.  This will also result
  755.          in  faster  processing of messages.   However,  any  informational
  756.          warning (like duplicate,  oversized, bad date, etc.) will still be
  757.          displayed.
  758.  
  759.          AFTER TOSSING THE PACKET
  760.          ------------------------
  761.          After  tossing the *.PKT,  MSGTOSS will automatically  delete  the
  762.          respective *.PKT and *.IDX file and continue on to the next  *.PKT
  763.          file.
  764.  
  765.            NOTE: If   you  wish  to  keep  the  *.PKT  files  for   further
  766.                  processing,  simply  use  the "/DKP"  switch.   This  will
  767.                  delete  the  *.IDX  file but will  leave  the  *.PKT  file
  768.                  available  for other processors (like for HUB  work).   Be
  769.                  extremely  carefull,  as  if  your  other  mail  processor
  770.                  crashed  and  *.PKT files are left in  the  MSGTOSS  files
  771.                  directory, then MSGTOSS will happily re-process them.  For
  772.                  safety  sake,  it would be better to IMMEDIATELY move  the
  773.                  *.PKT  files  to  another  directory  after  MSGTOSS   has
  774.                  processed them.
  775.  
  776.                  This  can be further eliminated by changing the  extention
  777.                  of  the  packets from *.PKT to (say)  *.TOS,  and  telling
  778.                  MSGTOSS  to consider files with the extention of *.TOS  to
  779.                  be   fidonet  packets.    This  is  accomplished  by   the
  780.                  PKTWILD---> parameter.  You can delete the *.PKT entry and
  781.                  replace it with *.TOS,  and MSGTOSS will never consider  a
  782.                  *.PKT file to be a fidonet packet.
  783.  
  784.  
  785.  
  786.                                       PAGE: 12
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.                                 MSGTOSS Version 1.3
  795.  
  796.  
  797.  
  798.     SET MAILWAITING BIT
  799.     -------------------
  800.     After  successful tossing of the messages,  MSGTOSS will then  set  the
  801.     'mailwaiting bit'  for all of its conferences.  This allows users to be
  802.     notified when they log-on the system whether they have mail waiting  to
  803.     be  read  in  each of the conferences.   During  initializing,  MSGTOSS
  804.     remembered  what  the  first message was  before  it  started  tossing,
  805.     therefore  if you use the /MWSET switch, it will ONLY set the  bit  for
  806.     the brand-new messages.  If you specify the /MWRST switch, then MSGTOSS
  807.     will first 'blank-out'  ALL mailwaiting bits for ALL users first,  then
  808.     re-hash the entire message base and set mailwaiting bits as required.
  809.  
  810.     For messages that are addressed to the SYSOP or the SYSOP's common name
  811.     (IE:Mike Zakharoff),  the TO: field will be changed to 'SYSOP'  so when
  812.     you log-on as the sysop, proper notification will be made.
  813.  
  814.     The  SYSALIAS  parameter (located in MSGTOSS.CFG) tells  MSGTOSS  which
  815.     user name is considered the SYSOP.  This should be the same name as was
  816.     entered  in CONFIG for the secret remote logon,  and for 'LOCAL'  logon
  817.     (ESC  switch).   Any  messages that match those  as  specified  by  the
  818.     various SYSNAME(s) will cause the mailwaiting bit for the SYSALIAS user
  819.     to be set,  and cause the TO:  field to be changed to the text 'SYSOP',
  820.     if 'SYSOP' is not already part of the TO: field.
  821.  
  822.  
  823.     NOTE: You  can  obtain  faster  purging,   mainwaiting  and  sizing  by
  824.           configuring MSGTOSS to use a work directory.  This is set via the
  825.           WORKDIR--->  parameter.   To initiate the work  directory specify
  826.           /WDIR  on  the command line while executing MSGTOSS.   If  a  RAM
  827.           disk,  MSGTOSS will first copy the message base to the  RAM  disk
  828.           (if  enough  room  exists) and will purge  the  message  base  as
  829.           required.    After  purging,  MSGTOSS  will  then  copy  it  back
  830.           automatically.   In  addition,  if paging  excess  users  to  the
  831.           disk is required,  MSGTOSS will use the work directory for faster
  832.           operation.
  833.  
  834.  
  835.     CREATE LOG FILE
  836.     ---------------
  837.     MSGTOSS keeps a useful log of the activity after each mail event.   The
  838.     directory  of  where  this  log file is created  is  specified  by  the
  839.     LOGDIR-----> parameter.  Here is an example of the log:
  840.  
  841.     MSGTOSS 1.3 03/29/90 - Report Date: 03-30-1990 10:21:13
  842.  
  843.     PURGING   - COMMM.DEF    Purged:  28 Kept:  74 Users:  13
  844.     PURGING   - CLIPPERM.DEF Purged:  28 Kept:  66 Users:   3
  845.     PURGING   - CONSULTM.DEF Purged:  19 Kept:  73 Users:   4
  846.     PURGING   - COOKINGM.DEF Purged:  71 Kept:  16 Users:   1
  847.     PURGING   - C_PRGMM.DEF  Purged:  76 Kept:   0 Users:   7
  848.     EXPANDED  - C_PRGMM.DEF  from  800 to  1142
  849.  
  850.  
  851.  
  852.                                       PAGE: 13
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.                                 MSGTOSS Version 1.3
  861.  
  862.     PURGING   - FEMINM.DEF   Purged:  46 Kept:  32 Users:   2
  863.  
  864.     Pkt - 1335610D.PKT Msgs:   3 Dups:   0 Skipped:   0 from 343/300
  865.     Pkt - 1353420C.PKT Msgs:  40 Dups:   0 Skipped:   0 from 343/300
  866.     Pkt - 13548E1D.PKT Msgs: 230 Dups:   0 Skipped:   0 from 343/300
  867.     Pkt - 13564332.PKT Msgs:  70 Dups:   0 Skipped:   0 from 343/300
  868.  
  869.     /TOSS /PREP /FIXC /NSTOP /MWSET /FMAS /SECL /DDA      MailWaiting
  870.                                                       -------------------
  871.     AREA Name                 New Msgs  Dups   Total  UMsgs  USet   SYSOP
  872.     ------------------------- --------  -----  -----  -----  -----  -----
  873.     COMM                            23      0     23      0      0      0
  874.     CLIPPER                         24      0     24      0      0      0
  875.     CONSULTING                      12      0     12      0      0      0
  876.     COOKING                         70      0     70      0      0      0
  877.     C_ECHO                         124      0    124      0      0      0
  878.     FEMINISM                        40      0     40      0      0      0
  879.     NET343                           1      0      1
  880.     RBBS-PC                         13      0     13
  881.     NET_DEV                         23      0     23
  882.     LAN                             16      0     16
  883.     ---------------------------------------------------------------------
  884.     Total   -   Skipped:    0      346      0    346      0      0      0
  885.  
  886.     Anal: 1.8  Prep: 1.7  Toss: 1.1  Mwait:  .6  Tot:  4.6  Toss/Min: 314
  887.  
  888.  
  889.     Provides a list of the purging activity, the *.PKTs processed, how many
  890.     messages  were in each *.PKT,  how many DUPS,  how many  messages  were
  891.     skipped due to bad message headers, over sized messages,  which message
  892.     bases were expanded,  etc.   In addition,  it provides the command line
  893.     switches that were used when executing MSGTOSS.   It provides the sysop
  894.     with a summary of the mailwaiting status of his system,  including him-
  895.     self,  and  a summary of how many messages were skipped  and  the  time
  896.     needed  to  complete  the major operations of  MSGTOSS,  including  the
  897.     tossing throughput.
  898.  
  899.  
  900.     CREATE MISC BAT/CMD/CTL FILES
  901.     -----------------------------
  902.     MSGTOSS  was  designed  to be extremely  flexible,  therefore,  various
  903.     system-related  utility batch files can be automatically created.   The
  904.     only  message  bases reported are only those which  have  received  new
  905.     messages.   These BAT/CMD/CTL files are automatically deleted each time
  906.     MSGTOSS is executed,  therefore the maintenance they call out should be
  907.     executed immediately after executing of MSGTOSS.   This can be used for
  908.     a  variety  of tasks,  where the replacement parameters  available  are
  909.     [MSGFILE], [USRFILE], [WELFILE], and [AREA].  The parameters ONLY apply
  910.     to RBBS message bases, and not Fido sub-directories.
  911.  
  912.     For instance,  a batch file can be created that automatically creates a
  913.     special MU-EDIT batch file, that contains only those message bases that
  914.     received new messages.  Example:
  915.  
  916.  
  917.  
  918.                                       PAGE: 14
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.                                 MSGTOSS Version 1.3
  927.  
  928.  
  929.     UTIL1CMD--->MU-EDIT [MSGFILE]
  930.     UTIL1------>EDIT.BAT
  931.  
  932.     This would create a batch file called 'EDIT.BAT'  that would contain  a
  933.     sequential MU-EDIT batch file for each conference.   The sample command
  934.     contained within the sample MSGTOSS.CFG command shows V. Dasa's SUBJECT
  935.     utility, which creates "Welcome Files" for all of the conferences.
  936.  
  937.  
  938.                           THEORY OF OPERATION SUMMARY
  939.                           ---------------------------
  940.  
  941.     MSGTOSS is the FIRST RBBS-PC (only) utility that accomplishes a  direct
  942.     *.PKT  to RBBS message base import.   During the development  phase  of
  943.     MSGTOSS,  alot of other methods where tried.   After alot of trial  and
  944.     error, I believe this is the optimum method for importing messages.  No
  945.     longer does the sysop have to keep a close eye on the behaviour of  his
  946.     message bases, as MSGTOSS handles it all.
  947.  
  948.  
  949.                             MSGTOSS.BBS AREAS FILE
  950.                             ----------------------
  951.  
  952.     Like most other mail processors,  MSGTOSS also has its own  'AREAS.BBS'
  953.     file  in its own format.   The default name of MSGTOSS.BBS was  chosen,
  954.     because  other  mail  processors use the name of AREAS.BBS  that  is  a
  955.     different format.  Here is an example of MSGTOSS.BBS file:
  956.  
  957.  
  958.     MSGTOSS.BBS FILE
  959.     ----------------
  960.     C:\RBBS\commm.def     COMM          |R1024|  \
  961.     C:\RBBS\consultm.def  CONSULTING    |R1024|   \
  962.     C:\RBBS\sportsm.def   SPORTS        |R1024|    > RBBS Message Bases
  963.     C:\RBBS\techm.def     TECH          |R1024|   /
  964.     C:\RBBS\warningm.def  WARNINGS      |R1024|  /
  965.  
  966.     C:\MAIL\UNKNOWN       UNKNOWN       |F|      \
  967.     C:\MAIL\NMAIL         NETMAIL       |F|       \
  968.     C:\MAIL\RBBS          RBBS-PC       |F|        > FIDO Messages *.MSG
  969.     C:\MAIL\LAN           LAN           |F|       /
  970.     C:\MAIL\RBBSPACK      RBBSMAIL_PACK |F|      /
  971.  
  972.  
  973.     GENERAL
  974.     -------
  975.     Lines  that begin with a SPACE,  SEMI-COLON or BLANK are assumed to  be
  976.     comment lines and are ignored.
  977.  
  978.     The  FORMAT  of this file is subject to change in  future  releases  of
  979.     MSGTOSS!
  980.  
  981.  
  982.  
  983.  
  984.                                       PAGE: 15
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.                                 MSGTOSS Version 1.3
  993.  
  994.     The  areas  UNKNOWN  &  NETMAIL are required  as  either  a  Fido-style
  995.     conference or as an RBBS message base.  The areas GENERAL,  PRIVATE and
  996.     ROUTETHRU are supported, but if they don't appear, the messages will be
  997.     tossed into NETMAIL by default.
  998.  
  999.     Messages  that  arrive that are NOT addressed to your  system  will  be
  1000.     tossed into your NETMAIL area if ROUTETHRU does not exist.
  1001.  
  1002.     Messages  with  UNKNOWN areas will be tossed along  with  the  original
  1003.     AREA:xxxx  which was not recognized.   Messages that DO NOT contain  an
  1004.     AREA:xxxx  are assumed to be NETMAIL and are tossed into the  directory
  1005.     specified by your NETMAIL area,  but can also be optionally tossed into
  1006.     an RBBS conference by using the area name NETMAIL.
  1007.  
  1008.     In addition,  the UNKNOWN and ROUTETHRU areas are exempt from duplicate
  1009.     and  size checking,  even if you specify the /CDUP switch.   Therefore,
  1010.     this functions as a PASSTHRU area for systems requiring it.
  1011.  
  1012.     You  can have BOTH an RBBS conference and a Fido-style  conference  for
  1013.     one  area,  but no more.   IE:You want to post the COMM conference  for
  1014.     users AND have them tossed into Fido Style also.
  1015.  
  1016.  
  1017.     RBBS MESSAGE BASES
  1018.     ------------------
  1019.     All  RBBS Conferences require |Rxxxx| where the R signifies that it  is
  1020.     an  RBBS  message  base and the xxxx is the size  in  RECORDS  of  that
  1021.     message  base.   The xxxx will be the size the message base is  CHOPPED
  1022.     back  down to when using the '/SIZE'  switch or INCREASED to match  the
  1023.     xxxx when using the 'SIZE-UP' switch when necessary.
  1024.  
  1025.     You can toss NETMAIL into an RBBS Conference by adding the area NETMAIL
  1026.     to a referenced RBBS conference.
  1027.  
  1028.     All of these conferences MUST contain an 'M.DEF' to be recognized,  and
  1029.     MUST have a matching 'U.DEF' users file in the same directory, even the
  1030.     NETMAIL  Conference.    However,   if  you  specify  the  message  base
  1031.     "MESSAGES",  then MSGTOSS will assume "USERS"  in the  same  directory. 
  1032.     This  allows  the  main message base to  be  processed  with  MSGTOSS's
  1033.     special utility functions.
  1034.  
  1035.  
  1036.     FIDO STYLE CONFERENCES
  1037.     ----------------------
  1038.     The Fido-style Conferences each require the |F|.
  1039.  
  1040.     Don't go crazy with simultaneous (RBBS + Fido) conferences,  they  will
  1041.     slow down tossing.   Tossing is optimized for tossing into RBBS confer-
  1042.     ences; these are simply for convienence.
  1043.  
  1044.     All Fido-style areas MUST have separate sub-directories!   No intermix-
  1045.     ing of conferences are allowed.
  1046.  
  1047.  
  1048.  
  1049.  
  1050.                                       PAGE: 16
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.                                 MSGTOSS Version 1.3
  1059.  
  1060.  
  1061.                         MSGTOSS.CFG CONFIGURATION FILE
  1062.                         ------------------------------
  1063.  
  1064.     For systems running multiple Nets (FidoNet, RBBSNet, AlterNet), you can
  1065.     specify multiple configuration files.  Here is an example:
  1066.  
  1067.     MSGTOSS.CFG FILE
  1068.     ----------------
  1069.     FILES------->C:\MAIL\FILES\
  1070.     WORKDIR----->M:\
  1071.     LOGDIR------>C:\BT\
  1072.     MESSAGES---->C:\RBBS\MESSAGES
  1073.     RBBS-MAX---->999
  1074.     ELASTIC----->NO
  1075.     MARGIN------>72
  1076.     SECL-------->SEEN-BY:
  1077.     SECL-------->
  1078.     DUPFILE----->MSGTOSS.EID
  1079.     MAXAREAS---->100
  1080.     DUPSIZE----->200
  1081.     UNARCH------>SPAZ -F -Q C:\MAIL\FILES C:\BT\
  1082.     CONFWAIT---->10
  1083.     CONFLOCK---->ALLFIG C:\RBBS\ALL1 130 N J 100 \n
  1084.     PKTWILD----->*.PKT *.?UT
  1085.     PURGECMD---->MU-PURGE [MSGFILE] /MSG:PIP
  1086.     RENUMCMD---->MSGRENUM /MSG:[MSGFILE] /USR:[USRFILE] /DDA /NET /FIX
  1087.     MAILWCMD---->MAILWAIT /MSG:[MSGFILE] /USR:[USRFILE] /DDA /NET +
  1088.                  /NAM:MIKE ZAKHAROFF /SYS:100 /FIX /LOG
  1089.     BLANKMSG---->C:\RBBS\BLANKM.DEF
  1090.     FIXMSGCMD--->FIXMSG [MSGFILE] /NET
  1091.     RENUMBAT---->MSGCLEAN.BAT
  1092.     MAILWBAT---->MSGCLEAN.BAT
  1093.     UTIL1------->MSGCLEAN.BAT
  1094.     UTIL1CMD---->SUBJECT I:[MSGFILE] O:[WELFILE] C:[AREA] L:15 S:
  1095.     UTIL2------->
  1096.     UTIL2CMD---->
  1097.     ECHOSEC----->40
  1098.     PRIVATE----->NO
  1099.     KILLOVER---->3500
  1100.     MAINT%LO---->80
  1101.     MAINT%HI---->89
  1102.     DAYSTOSYS--->60
  1103.     DAYSFRSYS--->60
  1104.     DELREADSYS-->NO
  1105.     DAYSTOUSR--->60
  1106.     DAYSFRUSR--->60
  1107.     DELREADUSR-->NO
  1108.     YEAR-------->1990
  1109.     SYSALIAS---->SUPER TOSSER
  1110.     SYSNAME----->!MIKE ZAKHAROFF
  1111.     SYSNAME----->=SYSOP
  1112.     NODE-------->1:343/36
  1113.  
  1114.  
  1115.  
  1116.                                       PAGE: 17
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.                                 MSGTOSS Version 1.3
  1125.  
  1126.     NODE-------->8:918/1
  1127.  
  1128.  
  1129.     Here is a brief explaination of each parameter:
  1130.  
  1131.     FILES      - Directory INCOMING mail and files go to FIRST
  1132.  
  1133.     WORKDIR    - RAM Disk (recommended) where MSGTOSS will COPY the current
  1134.                  message  base  being  PURGED or SIZED.   In  addition,  if
  1135.                  PAGING  to  disk  is necessary (if a conference  has  over
  1136.                  2000 users) MSGTOSS will write the excess users to the RAM
  1137.                  disk for faster operation.  Will check for available space
  1138.                  first.   Not enough space will cause default directory  to
  1139.                  be used.  Need to specify the "/WDIR" switch to activate.
  1140.  
  1141.                  NOTE: Does NOT have to be a RAM disk.   If for example you
  1142.                        ran  out  of disk space, you can  SIZE  the  message
  1143.                        bases  via a WORKDIR that has plenty of  space.   In
  1144.                        addition,  the use of the WORKDIR provides an  extra
  1145.                        safety  margin  while MSGTOSS is purging  a  message
  1146.                        base, as if power is lost while purging, lost chains
  1147.                        may  be  present in the message base.   However,  if
  1148.                        using  the  /FIX  switch, MSGTOSS  will  detect  the
  1149.                        corruption  and fix the message base  anyway  (using
  1150.                        FIXMSG).
  1151.  
  1152.     LOGDIR     - Where  MSGTOSS  will write  its  MSGTOSS.LOG,  MSGTOSS.ERR
  1153.                  &  MSGTOSS.DUP  files.   Needs  to  end  with  a  trailing
  1154.                  backslash.  Blank will end up in default directory.
  1155.  
  1156.     MESSAGES   - Path/FileName  of Main RBBS Message Base.   This  is  used
  1157.                  while  using the /WAIT switches,  as MSGTOSS will  monitor
  1158.                  the  NODE  records of the main RBBS message  base  to  see
  1159.                  whether all users are of-line.
  1160.  
  1161.     RBBS-MAX   - Reflects  the  "current"  RBBS-PC maximum  messages.   The
  1162.                  maximum  of  999  may  soon change to  9999,  so  this  is 
  1163.                  why the  "RBBS-MAX---->"   parameter  is  present  in  the 
  1164.                  MSGTOSS.CFG  file.   The  default  entry  is  999,   which 
  1165.                  reflects the "current"  RBBS-PC maximum.  In the event the 
  1166.                  maximum is raised (future releases of RBBS-PC) the MSGTOSS 
  1167.                  "RBBS-MAX--->" parameter will have to be adjusted.
  1168.  
  1169.     ELASTIC    - Either "YES" or "NO".  This is designed to support the new
  1170.                  "elastic message bases"  of RBBS-PC.   What this  actually
  1171.                  does is tell MSGTOSS to make the "maximum messages"  value
  1172.                  that is present in the message base "checkpoint record" to
  1173.                  be the value of the "RBBS-MAX--->"  parameter,  no  matter
  1174.                  what MSGTOSS calculates it to be normally.
  1175.  
  1176.                  NOTE: For  proper operation of the ELASTIC message  bases,
  1177.                        the  MAINT%LO and MAINT%HI parameters should be  set
  1178.                        to a value of 100 each.   This tells MSGTOSS  during
  1179.  
  1180.  
  1181.  
  1182.                                       PAGE: 18
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.                                 MSGTOSS Version 1.3
  1191.  
  1192.                        purging,  sizing  and  tossing to  leave  as  little
  1193.                        amount  of  slack space at the end  of  the  message
  1194.                        bases  as possible (100 percent full at all  times). 
  1195.                        RBBS  will expand the message bases as  users  enter
  1196.                        new  messages.   In addition, RBBSMAIL will cut  off
  1197.                        any slack present in the message base during a  scan
  1198.                        mode (when set for ELASTIC operation).
  1199.  
  1200.  
  1201.                  NOTE: You can still use the "/PREP"  switch,  even  though
  1202.                        you set ELASTIC to "YES".   MSGTOSS will still  CHOP
  1203.                        the message bases back down to the "|Rxxxx|"  values
  1204.                        set in the  MSGTOSS.BBS file.
  1205.  
  1206.     MARGIN     - What  right margin should the RBBS conferences  should  be
  1207.                  set to.   RBBS normally formats newly entered messages  to
  1208.                  72.   It  should ne noted that setting  the  right  margin
  1209.                  beyond the RBBS expected value of 72 may cause editing  to
  1210.                  be  more  difficult,  but  will  make  the  messages  more
  1211.                  pleasing to read.   Values beyond 77 are not  recommended. 
  1212.                  A  value of 39 can be used to format the message bases  to
  1213.                  support 40 column users.
  1214.  
  1215.                  The  "/MRGN:xx"  command line switch overrides the  MARGIN
  1216.                  parameter.
  1217.  
  1218.     SECL       - These  are  utilized  ONLY  when  the  "/SECL"  switch  is
  1219.                  activated (which also requires the "/FMAS" switch).  These
  1220.                  entries determine exactly what lines in the RBBS  echomail
  1221.                  messages (not FIDO) are to be ignored during tossing.
  1222.  
  1223.                  Example:   You  want  to  strip  all  occurances  off  the
  1224.                  "SEEN-BY:" lines in RBBS messages:
  1225.  
  1226.                  SECL-------->SEEN-BY:
  1227.  
  1228.                  Example: Most echomail control lines begin with a "" so:
  1229.  
  1230.                  SECL-------->
  1231.  
  1232.                  Will strip EID:,  PATH:,  MSGID: & VIA:  and any other
  1233.                  line that begins with an .
  1234.  
  1235.                  Example: You ONLY want to strip PATH: and VIA: lines:
  1236.  
  1237.                  SECL-------->PATH:
  1238.                  SECL-------->VIA:
  1239.  
  1240.                  All  other lines that begin with an  will be imported  as
  1241.                  normal.
  1242.  
  1243.                  NOTE: The  most restrictive entry will override a  similar
  1244.                        less restrictive entry, example:
  1245.  
  1246.  
  1247.  
  1248.                                       PAGE: 19
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.                                 MSGTOSS Version 1.3
  1257.  
  1258.  
  1259.                        SECL-------->
  1260.                        SECL-------->PATH:
  1261.  
  1262.                        The first entry ALREADY will strip the second entry!
  1263.  
  1264.                  NOTE: Up to 20 "SECL-------->" entries are possible.
  1265.  
  1266.     DUPFILE    - Created by MSGTOSS, Database of EID codes.   Use the /WDIR
  1267.                  (work directory) switch for automatic copying to/from  ram
  1268.                  disk for faster dup checking.
  1269.  
  1270.     MAXAREAS   - Reserves so many spaces in the EID database.   Max  number
  1271.                  of conferences you would EVER have (I have 28, and mine is
  1272.                  set for 100, which I would never carry).   Each require 26
  1273.                  bytes.
  1274.  
  1275.     DUPSIZE    - The  number of previous messages to keep track of in  each
  1276.                  area  of  each  conference.  Basically,  the  bigger,  the
  1277.                  slower messsage processing.  If your message bases average
  1278.                  100 messages, then set to at least 75.   However,  numbers
  1279.                  over  500-1000  are possible,  but standby for  some  SLOW
  1280.                  tossing  and  a  LARGE  MSGTOSS.EID  file!    For  optimum
  1281.                  processing  its  best to use the  /WDIR  (work  directory)
  1282.                  switch  to automatically place  MSGTOSS.EID in  a  RAMDISK
  1283.                  for  faster processing.   MSGTOSS will automatically  copy
  1284.                  the database back after tossing is complete.
  1285.  
  1286.                  NOTE:  If you have a reliable HUB,  who faithfully  checks
  1287.                  for DUPS before sending to you, then the use of the  /CDUP
  1288.                  switch  may NOT be necessary and will make mail events  as
  1289.                  fast as possible.
  1290.  
  1291.                  WARNING!:  These TWO parameters (DUPSIZE and MAXAREAS) are
  1292.                  'one-time-shot'  parameters.   You can ONLY  change  these
  1293.                  parameters by first erasing the MSGTOSS.EID database,  and
  1294.                  re-executing  MSGTOSS,  which  will then  format  a  *new*
  1295.                  MSGTOSS.EID file.   In addition, these TWO parameters  can
  1296.                  drastically  slow  down tossing after they get  filled  up
  1297.                  with  EID:  codes.   So if you decide to make these  10000
  1298.                  each, tossing may take forever.
  1299.  
  1300.                  NOTE: Executing with the /CDUP switch the first time  will
  1301.                        create  MSGTOSS.EID.   Depending on  the  values  of
  1302.                        MAXAREAS  and DUPSIZE (mostly) the size of  the  EID
  1303.                        database  file  will  vary  considerably.   The  ap-
  1304.                        proximate size of the EID database file can be esti-
  1305.                        mated using the following formula:
  1306.  
  1307.              ((13 * DUPSIZE) * NUMBER.OF.AREAS.YOU.HAVE)) + (MAXAREAS * 26)
  1308.  
  1309.     UNARCH     - Command  to issue to unarchive mail packets.   Recommended
  1310.                  to  use only SPAZ.COM,  because it can handle ZIP,  LHARC,
  1311.  
  1312.  
  1313.  
  1314.                                       PAGE: 20
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.                                 MSGTOSS Version 1.3
  1323.  
  1324.                  ARC etc.
  1325.  
  1326.                  SPAZ -F -Q C:\MAIL\FILES    C:\BT\
  1327.                             -------------    ----------------------------
  1328.                             Incoming Mail    Where PKTS go for processing
  1329.  
  1330.                              NOTE!! --> Where trailing back-slashes are!
  1331.  
  1332.                  NOTE: MSGTOSS looks in either the default directory (where
  1333.                        you executed MSGTOSS),  and the directory  specified
  1334.                        bythe FILES---> parameter for PKTs.  Therefore,  the 
  1335.                        "C:\BT\"  as shown above is also where  MSGTOSS.CFG, 
  1336.                        MSGTOSS.BBS  and   other  control  files  are  (like 
  1337.                        RBBSMAIL.CFG).   However,  you  can  set  the  above 
  1338.                        quoted directory to be ANY  drive/directory, but you 
  1339.                        MUST  make sure you first change   drive/directories 
  1340.                        in  your batch file,  and execute MSGTOSS   via  the 
  1341.                        /CFG:  and /BBS:  switches, to tell  MSGTOSS   where 
  1342.                        its control files are.
  1343.  
  1344.                  NOTE: If  you  set  the UNARCH parameter  to  blank,  then
  1345.                        MSGTOSS will NOT shell out internally.   If you  are
  1346.                        having a memory problem, then you can simply execute
  1347.                        SPAZ in your batch file before executing MSGTOSS.
  1348.  
  1349.     CONFWAIT   - Number  of minutes to wait till users are off  line  (used
  1350.                  with the /WAIT or /WAIT-F switches)
  1351.  
  1352.     CONFLOCK   - Command  to  place  in MSGWAIT.BAT file  created  to  lock
  1353.                  conferences (used with /WAIT options)
  1354.  
  1355.     PKTWILD    - Wildcards of what extentions FIDO Packets can be
  1356.  
  1357.     PURGECMD   - Will purge [MSGFILE] with What you put here
  1358.  
  1359.                  NOTE: This  is  ONLY used in conjunction  with  the  /PEXT
  1360.                        switch.   MSGTOSS  by  DEFAULT  purges  the  message
  1361.                        bases   INTERNALLY,  thus this is ONLY provided  for
  1362.                        those few who  have a special need and desire to use
  1363.                        MU-PURGE vice  MSGTOSS's internal purging!
  1364.  
  1365.                  NOTE: MSGTOSS supports dynamic USER File replacement
  1366.                        parameter for this switch.  To use this, place
  1367.                        [USERFILE] within the command line.
  1368.  
  1369.                        IE: MU-PURGE [MSGFILE] /MSG: LOG PIP // ([USRFILE])
  1370.  
  1371.  
  1372.     RENUMCMD   - Re-number [MSGFILE] using [USRFILE] with what you put here
  1373.  
  1374.     MAILWCMD   - Set Mailwaiting bit [MSGFILE] [USRFILE] with what you  put
  1375.                  here, using dynamic replacement parameters.
  1376.  
  1377.  
  1378.  
  1379.  
  1380.                                       PAGE: 21
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.                                 MSGTOSS Version 1.3
  1389.  
  1390.                  NOTE: This command line requires the /MEXT switch to be on
  1391.                        the command line,  otherwise MSGTOSS will DEFAULT to             
  1392.                        its INTERNAL Mailwaiting code.  Use this ONLY if you
  1393.                        require the special features of MAILWAIT.
  1394.  
  1395.     FIXMSGCMD  - Fix [MSGFILE] with this ([USRFILE] available)
  1396.  
  1397.     RENUMBAT   - File created by MSGTOSS which contains RENUMCMD
  1398.  
  1399.     MAILWBAT   - File created by MSGTOSS which contains MAILWCMD
  1400.  
  1401.     BLANKMSG   - A "model"  messsage base (un-corrupt,  small) that will be
  1402.                  used with the "/FIXC" command line.  If FIXMSG fails twice             
  1403.                  then the message base entered here will be copied over the
  1404.                  original (corrupt) message base.  The corrupt message base           
  1405.                  will be renamed *.BAD.
  1406.  
  1407.     UTIL1      - Batch file or ?? which contains UTIL1CMD commands
  1408.  
  1409.     UTIL1CMD   - Miscellaneous utility command [MSGFILE], [USRFILE], [AREA]
  1410.                  & [WELFILE] available for processing.
  1411.  
  1412.     UTIL2      - Batch file or ?? which contains UTIL2CMD commands
  1413.  
  1414.     UTIL2CMD   - Miscellaneous utility command [MSGFILE], [USRFILE], [AREA]
  1415.                  & [WELFILE] available for processing.
  1416.  
  1417.     ECHOSEC    - Minimum  Security level you allow for  conference  Access. 
  1418.                  This is used to set the security level of the message dur-
  1419.                  ing tossing, and during purging as users with the security
  1420.                  level  of ECHOSEC or higher will not have  their  messages
  1421.                  deleted.
  1422.  
  1423.                  NOTE: This  is the security level  (applicable  conference
  1424.                        user file) whose members messages will NOT BE KILLED
  1425.                        unless they were  already KILLED.
  1426.  
  1427.                  NOTE: This will be OVERRIDDEN by the DAYSTOUSR,  DAYSFRUSR
  1428.                        or the DELREADUSR parameters.
  1429.  
  1430.     PRIVATE    - Either YES or NO.  Whether to honor incoming PRIVATE  echo
  1431.                  mail.   Normally  set to NO,  which  converts  to  public. 
  1432.                  Setting to YES will slow down tossing.  If tossing NETMAIL
  1433.                  into    an    RBBS   conference    then    MSGTOSS    will
  1434.                  AUTOMATICALLY check  it the message is private.  Better to 
  1435.                  set this switch to NO.
  1436.  
  1437.     KILLOVER   - Prevent TOSSING (ignore) of any message over this size
  1438.  
  1439.     MAINT%LO   - When a purge is required, what % capacity to purge to.
  1440.  
  1441.     MAINT%HI   - What is the MAXIMUM % capacity before a purge is required.
  1442.  
  1443.  
  1444.  
  1445.  
  1446.                                       PAGE: 22
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.                                 MSGTOSS Version 1.3
  1455.  
  1456.                  NOTE: These two parameters control the purging activity of
  1457.                        MSGTOSS.   MSGTOSS will automatically  maintain  the
  1458.                        percent capacity of all messages bases somewhere BE-
  1459.                        TWEEN  these two values.   Make sure MAINT%HI  is  a
  1460.                        larger value of MAINT%LO (or equal),  and that  they
  1461.                        do not exceed a value of 100 each.
  1462.  
  1463.     DAYSTOSYS  - Applies ONLY to messages TO the SYSOP:  How many days  old
  1464.                  the message is before it will be KILLED automatically.
  1465.  
  1466.     DAYSFRSYS  - Applies ONLY to messages FROM the SYSOP: How many days old
  1467.                  the message is before it will be KILLED automatically
  1468.  
  1469.     DELREADSYS - Applies ONLY to messages TO the SYSOP:  If the message has
  1470.                  been  read  by  the SYSOP,  then  automatically  KILL  it,
  1471.                  regardless  of  the setting of  DAYSTOSYS  parameter.   If
  1472.                  unread, will remain until the DAYSTOSYS parameter applies.
  1473.                  (YES or NO).
  1474.  
  1475.     DAYSTOUSR  - Applies ONLY to messages TO the USERS:  How many days  old
  1476.                  the message is before it will be KILLED automatically.
  1477.  
  1478.     DAYSFRUSR  - Applies ONLY to messages FROM the USERS: How many days old
  1479.                  the message is before it will be KILLED automatically
  1480.  
  1481.     DELREADUSR - Applies ONLY to messages TO the USERS:  If the message has
  1482.                  been  read  by  the  USER,  then  automatically  KILL  it,
  1483.                  regardless  of  the setting of DAYSTOUSRS  parameter.   If
  1484.                  unread, will remain until the DAYSTOUSR parameter applies.
  1485.                  (YES or NO).
  1486.  
  1487.     YEAR       - MSGTOSS  depends on the SYSTEM CLOCK.  If for some  reason
  1488.                  the  system clock YEAR does NOT match the YEAR  Parameter,
  1489.                  MSGTOSS  will  abort.    This  is  to  help  prevent   the
  1490.                  accidental    deletion   of   messages   based   on    the 
  1491.                  DAYSTO/DAYSFR Parameters by a faulty system clock.
  1492.  
  1493.                  NOTE: Reset this parameter on New Years Day!
  1494.  
  1495.     SYSALIAS   - The  SYSALIAS parameter tells MSGTOSS which user  name  is
  1496.                  considered the SYSOP.  This should be the same name as was
  1497.                  entered  in  CONFIG for the secret remote logon,  and  for
  1498.                  LOCAL logon (ESC switch).   Any messages that match  those
  1499.                  as  specified  by the various SYSNAME(s)  will  cause  the
  1500.                  mailwaiting bit for the SYSALIAS user to be set, and cause
  1501.                  the  TO:  field  to be changed to  the  text  'SYSOP',  if
  1502.                  'SYSOP' is not already part of the TO: field.
  1503.  
  1504.     SYSNAME    - This  parameter controls what messages are considered  the
  1505.                  SYSOP.  This  is used during the PURGING  and  MAILWAITING
  1506.                  phases   of  the MSGTOSS.   MSGTOSS will set  the  SYSOP's
  1507.                  mailwaiting  bit  ONLY if the message  matches  the  below
  1508.                  criteria,  and will be exempt from purging as  well  until
  1509.  
  1510.  
  1511.  
  1512.                                       PAGE: 23
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.                                 MSGTOSS Version 1.3
  1521.  
  1522.                  killed.
  1523.  
  1524.                  The FIRST CHARACTER must be either a '!' or a '=', nothing
  1525.                  else is allowed.  The '!' means CONTAINS and the '=' means
  1526.                  EXACT.
  1527.  
  1528.                  !SYSOP keep messages that contain the string 'SYSOP'  (Not
  1529.                  recommended,  as every message to 'JOE SYSOP' will set the
  1530.                  mailwaiting bit for the SYSALIAS user (sysop).
  1531.  
  1532.                  =SYSOP  will match on messages that ONLY have  'SYSOP'  in
  1533.                  TO/FROM, will set the mailwaiting bits, and be exempt from
  1534.                  purging  until  either  killed by the  sysop,  or  DAYS(s)
  1535.                  parameters apply.
  1536.  
  1537.                  !YOUR REALNAME incase a message 'MIKE ZAKHAROFF @1:343/36'
  1538.                  !SYSOP @343/36 is also recommended or just '!SYSOP @'
  1539.  
  1540.                  NOTE: During  the  MAILWAITING  processing,  MSGTOSS  will
  1541.                        convert  messages  addressed  to  your  SYSNAMES  to
  1542.                        'SYSOP',  if  SYSOP is not already part of the 'TO:'
  1543.                        name,  and set the mailwaiting bit for the user  you
  1544.                        entered under the SYSALIAS parameter.
  1545.  
  1546.                        Example:A  message  arrives  to  'MIKE   ZAKHAROFF'. 
  1547.                        Because a SYSNAME is '!MIKE ZAKHAROFF'  that message
  1548.                        will be converted to 'SYSOP' in the TO: Field.
  1549.  
  1550.                        Example:A   message  arrives  to  'JOE  SYSOP'   and
  1551.                        '=SYSOP' is only entered as a SYSNAME.  That message
  1552.                        will  be treated as if it is another  junk  message,
  1553.                        and MSGTOSS will purge it whenever it thinks it need
  1554.                        to and will NOT set the sysops mailwaiting bit.
  1555.  
  1556.                  NOTE: ANY  message  addressed to  your   SYSNAMES(s)  will
  1557.                        cause the mailwaiting bit to be set for the user  as
  1558.                        specified by your SYSALIAS!
  1559.  
  1560.                  NOTE: You can have up to 10 SYSNAME(s)
  1561.  
  1562.     NODE       - Full  NET/NODE  of  all  your  FidoNet  compatible   AKA's
  1563.                  (1:343/36)
  1564.  
  1565.                  NOTE: You can have up to 10 NET/NODES
  1566.  
  1567.                  NOTE: Place the net/node that gets the most traffic FIRST,
  1568.                        as they are checked sequentially.
  1569.  
  1570.  
  1571.     ----------------------------------------------------------------------
  1572.  
  1573.                               COMMAND LINE SYNTAX
  1574.                               -------------------
  1575.  
  1576.  
  1577.  
  1578.                                       PAGE: 24
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.                                 MSGTOSS Version 1.3
  1587.  
  1588.  
  1589.     Entering  "MSGTOSS <rtn>"  from the DOS prompt will produce  a  display
  1590.     similar to the following:
  1591.  
  1592.     MSGTOSS 1.3 03/31/90 Mike Zakharoff INTERSTATE BBS NETWORK   Seattle, WA
  1593.                 Copyright (c) 1989-90   FidoNet (1:343/36) BBS (206)631-3231
  1594.  
  1595.     SYNTAX:   MSGTOSS [SWITCHES ..]
  1596.  
  1597.               1) Toss RBBS, FIDO & NETMAIL messages -------> /TOSS
  1598.               2) Pre-PURGE  before tossing ----------------> /PREP
  1599.               3) Pre-EXPAND before tossing ----------------> /PREX
  1600.               4) Invoke FIXMSG for Corrupt Msg Base -------> /FIX
  1601.               5) Copy BLANKMSG if FIXMSG Fails Twice ------> /FIXC
  1602.               6) Invoke Automatic Duplicate Checking ------> /CDUP
  1603.               7) UPDATE Users MAILWAITING Bit (New Msgs) --> /MWSET
  1604.               8) RESET  Users MAILWAITING Bit (All Msgs) --> /MWRST
  1605.               9) Force Msgs to M.DEFs as Already SCANNed --> /FMAS
  1606.              10) Strip Echo Control Lines (Only /FMAS) ----> /SECL
  1607.              11) Use Alternate MSGTOSS.CFG file -----------> /CFG:File.Ext
  1608.              12) Use Alternate MSGTOSS.BBS file -----------> /BBS:File.Ext
  1609.              13) Kill (Ignore) Msgs with UNKNOWN Areas ----> /KUNK
  1610.              14) Only Toss with AREA xxx or @Listfile -----> /AREA:xxx
  1611.              15) Format Right Margin of RBBS Messages to --> /MRGN:xx
  1612.              16) PURGE, SIZE, DUPCHK & PAGE Via WORKDIR ---> /WDIR
  1613.              17) Don't Display (tossing) Activity (faster) > /DDA
  1614.              18) NO Interruption of TOSSING (faster) ------> /NSTOP
  1615.              19) Minimum Number of Packets to process -----> /PKTS:xx
  1616.              20) CHOP Msg Bases to Preset SIZE ------------> /SIZE
  1617.              21) CHOP AND/OR Increase Msg Bases to SIZE ---> /SIZE-UP
  1618.              22) Wait for Users to be OFF-LINE ------------> /WAIT
  1619.              23) Wait for Users, Create MSGWAIT.BAT File --> /WAIT-F
  1620.              24) Report on Message Base Statistics --------> /STAT
  1621.              25) Force Un-Tossable PKT (more processing) --> /FORCE
  1622.              26) Use EXTERNAL Purging via PURGECMD --------> /PEXT
  1623.              27) Use EXTERNAL Mailwaiting via MAILWCMD ----> /MEXT
  1624.              28) Maintain a MSGTOSS.DUP Log File ----------> /DLOG
  1625.              29) Max Messages Multiplier (Default = 5) ----> /MAXM:x
  1626.              30) Don't Kill *.PKT files after Tossing -----> /DKP
  1627.  
  1628.     MSGTOSS allows tossing of messages directly from FidoNet compatible
  1629.     Msg packets to RBBS-PC Msg Bases to FidoNet message form, or both.
  1630.  
  1631.  
  1632.                              COMMAND LINE SWITCHES
  1633.                              ---------------------
  1634.  
  1635.     Here is a brief explanation of each command line switch:
  1636.     --------------------------------------------------------
  1637.  
  1638.     /TOSS      - Required  for any tossing.   Will TOSS both FIDO and  RBBS
  1639.                  conferences
  1640.  
  1641.  
  1642.  
  1643.  
  1644.                                       PAGE: 25
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.                                 MSGTOSS Version 1.3
  1653.  
  1654.     /PREP      - Will  pre-purge   the message bases before  tossing  (used
  1655.                  most often).
  1656.  
  1657.                  NOTE: For any sort of tossing activity, "/PREP" or "/PREX"
  1658.                  is  required.   This informs MSGTOSS what to do   in  case
  1659.                  there is not enough room available in the  respective RBBS
  1660.                  message base.
  1661.  
  1662.     /PREX      - Will Pre-EXPAND the message bases before tossing
  1663.  
  1664.     /FIX       - Will automatically invoke FIXMSG if corrupt  message  base
  1665.                  is found  (also see /FIXC).
  1666.  
  1667.     /FIXC      - Will copy a BLANK (model) message base,  specified by  the
  1668.                  BLANKMSG--->   parameter  over a corrupt message  base  if
  1669.                  FIXMSG fails to fix a message base twice.  Corrupt message
  1670.                  base is renamed *.BAD (also see /FIX).
  1671.  
  1672.     /CDUP      - Will check for duplicates and skip if found.
  1673.  
  1674.                  NOTE: If  you have a reliable HUB,  who faithfully  checks
  1675.                        for DUPS before sending to you,  then the use of the
  1676.                        switch  may  NOT  be necessary and  will  make  mail
  1677.                        events as fast as possible.
  1678.  
  1679.     /MWSET     - Will use MSGTOSS's INTERNAL code to set  mailwaiting  (new
  1680.                  Msgs).
  1681.  
  1682.     /MWRST     - Mailwaiting RESET...  Will first ZERO all mailwaiting bits
  1683.                  for   all   users  for  all   conferences   and   re-hash.  
  1684.                  Recommended every now and then for message maintenance  or
  1685.                  when  first installing MSGTOSS or even in place of  /MWSET
  1686.                  (its slower though).
  1687.  
  1688.     /FMAS      - Force Mail As Scanned.   Will set the second colon of  the
  1689.                  TIME  field to a '.'  vice ':'  to prevent  RBBSMAIL  from
  1690.                  scanning for new messages.   If you are NOT feeding points
  1691.                  or other systems from your *M.DEF's then it is recommended
  1692.                  to  use this switch,  as it will drastically increase  the
  1693.                  speed  of RBBSMAIL Scanning.  RBBSMAIL will  still  EXPORT
  1694.                  messages  entered from your users,  it will simply  ignore
  1695.                  the  new echomail received.   If at all possible (even  if
  1696.                  you are a HUB) it is recommended to use this switch.
  1697.  
  1698.     /SECL      - Strip  Echomail Control Lines.   This switch CAN  ONLY  be
  1699.                  used  in conjunction with the /FMAS switch,  as  explained
  1700.                  above.  Basically, if you are using the /FMAS switch,  you
  1701.                  are  telling  RBBSMAIL  to ignore all  messages  that  are
  1702.                  tossed  by  MSGTOSS.   In this case  it  is  probably  not
  1703.                  necessary  to  import  echomail  control  lines  such   as
  1704.                  SEEN-BY:,  PATH:  and  other lines.   Using  this  switch
  1705.                  will DRASTICALLY improve the number of messages allowed to
  1706.                  be imported in a given message base, as SEEN-BY: lines can
  1707.  
  1708.  
  1709.  
  1710.                                       PAGE: 26
  1711.  
  1712.  
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.                                 MSGTOSS Version 1.3
  1719.  
  1720.                  take up incredible amounts of space.   This is usually  on
  1721.                  the  order of a 30-40% increase of the number of  messages
  1722.                  allowed in a given message base.
  1723.  
  1724.                  The  "SECL-------->"   entries  in  the  MSGTOSS.CFG  file
  1725.                  determine exactly what lines are to be stripped.
  1726.  
  1727.                  WARNING: The use of this switch creates such an  EFFICIENT
  1728.                  storage   medium   for  echomail  that  it   is   somtimes
  1729.                  necessary     to   INCREASE   the    'Maximum    Messages'
  1730.                  entry on the message  base 'Checkpoint Record'.
  1731.  
  1732.                  This  can be accomplished by the "/MAXM:xx"  command  line 
  1733.                  switch, or by setting the "ELASTIC---->"  parameter in the 
  1734.                  MSGTOSS.CFG file to "YES".
  1735.  
  1736.                  REASON:  By default RBBS assumes that every  message entry
  1737.                  averages   5   records  (each  record  is   128    bytes). 
  1738.                  Therefore,  a message  base formated to 1000  records will
  1739.                  have the 'Max  Messages' set to around 200  (1000/5).
  1740.  
  1741.                  MSGTOSS   version  1.3 now supports a  new  command   line
  1742.                  switch    called  '/MAXM:x'  which allow you to  vary  the 
  1743.                  RBBS assumed   value of 5 message records to say 4,  which 
  1744.                  will increase   the 'Max Messages'  entry to 250  (1000/4)
  1745.                  or   say 3,  which   will increase it to  333  (1000/3)...
  1746.                  etc.   See /MAXM:xx   Switch
  1747.  
  1748.                  If you utilize RBBS-PC's "elastic" message bases,  you can
  1749.                  accomplish   the  above  by  setting  the   "ELASTIC---->"
  1750.                  parameter  to  "YES",  which  will  ALWAYS  set  the  "max
  1751.                  messages"  to the value of the  "RBBS-MAX---->"  parameter
  1752.                  (currently 999).
  1753.  
  1754.     /BBS:xxx   - Use alternate MSGTOSS.BBS file
  1755.  
  1756.     /CFG:xxx   - Use alternate MSGTOSS.CFG file
  1757.  
  1758.     /KUNK      - Kill (ignore) messages that have UNKNOWN areas.  You still
  1759.                  need to have an area called UNKNOWN.
  1760.  
  1761.     /AREA:xxx  - Allows tossing only one selected echo area (/AREA:COMM) or
  1762.                  multiple    echo   areas   located   in   a   list    file
  1763.                  (/AREA:@listfile.lst).   The use of this command WILL  NOT
  1764.                  delete  the *.PKT file after completion of tossing  UNLESS
  1765.                  all  of the messages happened to be tossed  properly.   In
  1766.                  other words,  the *.PKT files will still be available  for
  1767.                  further processing.  Example:
  1768.  
  1769.                  MSGTOSS /TOSS /PREP /AREA:COMM
  1770.  
  1771.                  Will ONLY toss the echomail in the "COMM" conference
  1772.  
  1773.  
  1774.  
  1775.  
  1776.                                       PAGE: 27
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.                                 MSGTOSS Version 1.3
  1785.  
  1786.                  A plain ascii file exists that contains a list of echos to
  1787.                  process, as follows:
  1788.  
  1789.                  RBBS-PC
  1790.                  NETMAIL
  1791.                  COMM
  1792.                  FORSALE
  1793.  
  1794.                  If  this  file is called "echolist.lst"  then  execute  as
  1795.                  follows.
  1796.  
  1797.                  MSGTOSS /TOSS /PREP ..... /AREA:@echolist.lst
  1798.  
  1799.                  Note  that  the presence of the "@"  is  required  to  let
  1800.                  MSGTOSS know that it is looking for a file.
  1801.  
  1802.     /MRGN:xx   - What  right margin should the RBBS conferences  should  be
  1803.                  set to.   RBBS normally formats newly entered messages  to
  1804.                  72.   It  should ne noted that setting  the  right  margin
  1805.                  beyond the RBBS expected value of 72 may cause editing  to
  1806.                  be  more  difficult,  but  will  make  the  messages  more
  1807.                  pleasing to read.   Values beyond 77 are not  recommended. 
  1808.                  A  value of 39 can be used to format the message bases  to
  1809.                  support 40 column users.  Example.
  1810.  
  1811.                  MSGTOSS /TOSS /PREP /MRGN:77
  1812.  
  1813.                  NOTE: The use of this switch overrides the  "MARGIN----->"
  1814.                  parameter entry in the MSGTOSS.CFG file.
  1815.  
  1816.     /WDIR      - You can obtain faster purging,  mainwaiting and sizing  by
  1817.                  configuring MSGTOSS to use a work directory.   This is set
  1818.                  via  the  WORKDIR--->  parameter.  To  initiate  the  work
  1819.                  directory specify   /WDIR  on  the  command   line   while
  1820.                  executing MSGTOSS.  If a RAM disk, MSGTOSS will first copy
  1821.                  the  message base to the RAM disk (if enough room  exists)
  1822.                  and  will  purge  the message  base  as  required.   After
  1823.                  purging, MSGTOSS will then copy it back automatically.  In
  1824.                  addition,  if paging excess users to the disk is required,
  1825.                  MSGTOSS will use the work directory for faster operation.
  1826.  
  1827.                  NOTE: Does NOT have to be a RAM disk.
  1828.  
  1829.     /DDA       - Don't Display (tossing) Activity.   Will significatly  in-
  1830.                  crease  the speed of tossing,  as  informational  messages
  1831.                  regarding  which  messages are tossed where will  be  sup-
  1832.                  pressed.  Also see /NSTOP switch.
  1833.  
  1834.     /NSTOP     - By  default,  MSGTOSS allows interruption  of  tossing  or
  1835.                  analyzing  by  simply hitting any key.   If  this  occurs,
  1836.                  MSGTOSS will abort as soon as it is done with the  current
  1837.                  *.PKT  file.    Using /NSTOP will  allow  slightly  FASTER 
  1838.                  operation because  it will not have to check for  keyboard
  1839.  
  1840.  
  1841.  
  1842.                                       PAGE: 28
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.                                 MSGTOSS Version 1.3
  1851.  
  1852.                  input.  Also see /DDA switch.
  1853.  
  1854.     /PKTS:xx   - Process only if there are at least xx packets present.  If
  1855.                  used with the /WAIT-F parameter,  no MSGWAIT.BAT file will
  1856.                  be created if less than xx packets are present. 
  1857.  
  1858.     /SIZE      - Will   CHOP  message  bases  back  down  to   |Rxxxx|   in
  1859.                  MSGTOSS.BBS
  1860.  
  1861.     /SIZE-UP   - Will Increase (if required) and CHOP to match |Rxxxx|
  1862.  
  1863.     /WAIT      - Will Wait till users are off-line for CONFWAIT minutes and
  1864.                  will   SHELL   out  and  execute  CONFLOCK   command   (in
  1865.                  MSGTOSS.CFG)
  1866.  
  1867.     /WAIT-F    - Same as above,  but will create a file called MSGWAIT.BAT,
  1868.                  which consists of the CONFLOCK command.   If the wait  was
  1869.                  unsuccessful, then no MSGWAIT.BAT file will be created.
  1870.  
  1871.     /STAT      - Will produce Statistics of the message bases
  1872.  
  1873.     /FORCE     - Used if MSGTOSS chokes on a certain PKT.  This is NORMALLY
  1874.                  not  used.   Send PKT to me for analysis.   May still  not
  1875.                  work.
  1876.  
  1877.     /PEXT      - Will  use the PURGECMD parmeter and SHELL to  the  message
  1878.                  packer.   By  default  MSGTOSS  will  internally  PURGE  &
  1879.                  SHUFFLE messages.
  1880.  
  1881.     /MEXT      - Will use the MAILWCMD parameter to create the  BAT/CMD/CTL
  1882.                  file as specified by the MAILWBAT parameter.  Used ONLY is
  1883.                  special  reasons required you to use something other  than
  1884.                  MSGTOSS's INTERNAL mail-waiting code.
  1885.  
  1886.     /DLOG      - Will  append  the following information to a  file  called
  1887.                  MSGTOSS.DUP    whenever   a   duplicate    is    detected.  
  1888.                  MSGTOSS.DUP  contains the following  information...  DATE,
  1889.                  PKT,  PKT MSG,  AREA and WHO FROM (Net/Node) for  tracking
  1890.                  information.
  1891.  
  1892.     /MAXM:x    - During   the   normal  operation  of   MSGTOSS   (purging,
  1893.                  expanding,  setting  mailwaiting bits,  etc.)  MSGTOSS  is
  1894.                  constantly resetting the 'Max Messages'  value entered  in
  1895.                  the message bases 'Checkpoint Record'.  Normally,  you set
  1896.                  this value via CONFIG, but MSGTOSS will change it whenever
  1897.                  it requires.   RBBS assumes that the 'Max Messages'  value
  1898.                  is set APPROXIMATELY to "TOTAL.MESSAGE.RECORDS / 5".
  1899.  
  1900.                  Message records = 1000   -  Max Messages = 200 (1000/5)
  1901.                  Message records = 2000   -  Max Messages = 400 (2000/5)
  1902.  
  1903.                  This is normally not a problem,  but with the introduction
  1904.                  of the /SECL switch,  it is possible for MSGTOSS to import
  1905.  
  1906.  
  1907.  
  1908.                                       PAGE: 29
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.                                 MSGTOSS Version 1.3
  1917.  
  1918.                  more  messages  in a given message base than  the  default
  1919.                  'Max  Messages'  value.   Basically this means  that  even
  1920.                  though there is PLENTY of room for a newly entered message
  1921.                  (by  a  user),  if the 'Max Messages'  entry  exceeds  the
  1922.                  number of messages,  the user will be presented with  "Not
  1923.                  enough room for new messages, try again tomorrow".
  1924.  
  1925.                  This has been solved with the "/MAXM:x" switch,  where you
  1926.                  can  tell  MSGTOSS what multiplier to use (default  is  5)
  1927.                  while setting the 'Max Messages'  value.   The  multiplier
  1928.                  can be anywhere between 2 and 5.
  1929.  
  1930.                  /MAXM:5 Records = 1000 - Max Messages = 200 (1000/5)
  1931.                  /MAXM:4 Records = 1000 - Max Messages = 250 (1000/4)
  1932.                  /MAXM:3 Records = 1000 - Max Messages = 333 (1000/3)
  1933.                  /MAXM:2 Records = 1000 - Max Messages = 500 (1000/2)
  1934.  
  1935.                  NOTE: Also read about the "ELASTIC---->" parameter!
  1936.  
  1937.     /DKP       - Don't  Kill Packets.  Intended in hubbing  situations
  1938.                  where  you wish to keep the *.PKT files  for  further 
  1939.                  processing. This will  delete the *.IDX file but will
  1940.                  leave the *.PKT file  available for other  processors
  1941.                  (like for HUB work).   Be  extremely carefull,  as if
  1942.                  your  other mail processor  crashed and  *.PKT  files
  1943.                  are  left  in  the  MSGTOSS  files   directory,  then
  1944.                  MSGTOSS  will happily re-process them.   For   safety
  1945.                  sake,  it  would be better to  IMMEDIATELY  move  the 
  1946.                  *.PKT  files to another directory after  MSGTOSS  has 
  1947.                  processed them.
  1948.  
  1949.  
  1950.                                MSGTOSS UTILITIES
  1951.                                -----------------
  1952.  
  1953.     The following switches were designed as 'utilities' and can be executed
  1954.     directly from DOS (or daily event) to perform a particular function:
  1955.  
  1956.                  1) /SIZE
  1957.                  2) /SIZE-UP
  1958.                  3) /STAT
  1959.                  4) /MWRST (can be a /TOSS switch too)
  1960.                  5) /WAIT-F
  1961.  
  1962.     In addition,  if you include the main message base in your  MSGTOSS.BBS
  1963.     file  (like  for the AREA GENERAL or PRIVATE),  then you can  also  use
  1964.     MSGTOSS utilities on it too, although its normally not processed.
  1965.  
  1966.  
  1967.     /SIZE or /SIZE-UP
  1968.     -----------------
  1969.     Use  the  /SIZE switches to keep control of the sizes of  your  message
  1970.     bases.   You can do this by simply altering the |Rxxxx| values and  ex-
  1971.  
  1972.  
  1973.  
  1974.                                       PAGE: 30
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.                                 MSGTOSS Version 1.3
  1983.  
  1984.     ecuting  'MSGTOSS  /SIZE  <rtn>'  or  'MSGTOSS  /SIZE-UP  <rtn>'.   The
  1985.     /SIZE-UP  switch will increase message sizes (and CHOP) as required  to
  1986.     match the xxxx values,  where the /SIZE will ignore the message base if
  1987.     the size is smaller than or equal to the xxxx value.   You may want  to
  1988.     place 'MSGTOSS /SIZE' as part of your daily maintenance routines.
  1989.  
  1990.  
  1991.     /STAT
  1992.     -----
  1993.     Use  /STAT  to monitor the status of your message bases.   Here  is  an
  1994.     example of the /STAT parameter...
  1995.  
  1996.     03-30-1990 22:37:16 RBBS-PC Message Base Statistics
  1997.     ---------------------------------------------------
  1998.  
  1999.           Actual Recs Free Full% Usr MaxM Node Sec Bgn NxtRec LRec Lmsg
  2000.                  ---- ---- ----- --- ----  --  --- --- ------ ---- ----
  2001.     COMMM.DEF     900  190  78.9   7  162   3   40   5    710  900  115
  2002.     PNWTECHM.DEF 1000  158  84.2   9  147   3   40   5    842 1000  127
  2003.     PURSUITM.DEF 1000  149  85.1   7  122   3   40   5    851 1000  112
  2004.     QUIKBASM.DEF 1000  199  80.1   5  146   3   40   5    801 1000  102
  2005.     SCIENCEM.DEF 1000  207  79.3   5  176   3   40   5    793 1000  113
  2006.     SPORTSM.DEF  1000  130  87.0   3  187   3   40   5    870 1000  150
  2007.     TECHM.DEF    1000  225  77.5   6  205   3    5   5    775 1000   98
  2008.     WARNINGM.DEF 1000  234  76.6   8  112   3   40   5    766 1000  101
  2009.                   -----------------------------------------------------
  2010.                   Total Disk Space Occupied:  xxxxx 
  2011.  
  2012.     This  data  is derived from the message  base  'checkpoint'  record(s). 
  2013.     Here is a summary of columns:
  2014.  
  2015.     RECS   = Actual number of records (verses LREC)
  2016.     FREE   = Number of free records
  2017.     FULL%  = What percent capacity the message base is at
  2018.     USR    = Number of users in the U.DEF
  2019.     MAXM   = Maximum messages allowed (MSGTOSS sets)
  2020.     NODE   = Number of node records
  2021.     SEC    = Security level of conference
  2022.     BGN    = Record number where messages begin
  2023.     NXTREC = Record where next message can be written
  2024.     LREC   = Number of records message base thinks it is (verses RECS)
  2025.     LMSG   = Number of the last message
  2026.  
  2027.     NOTE:  This  can  be  directed  to the printer or  to  a  file  be  DOS
  2028.            redirection principles.
  2029.  
  2030.  
  2031.     /MWRST
  2032.     ------
  2033.     This switch is helpfull when first installing MSGTOSS to clear out  the
  2034.     false mailWaiting bits and start from scratch.  In addition, the /MWRST
  2035.     switch can be used in place of the /MWSET switch and will reset all  of
  2036.     the mailwaiting bits during every mail run.
  2037.  
  2038.  
  2039.  
  2040.                                       PAGE: 31
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.                                 MSGTOSS Version 1.3
  2049.  
  2050.  
  2051.  
  2052.     /WAIT-F
  2053.     -------
  2054.     Not  really a utility,  but it will monitor the 'node records'  in  the
  2055.     RBBS  main message bases to determine whether all users  are  off-line. 
  2056.     If  all  users are off-line,  then MSGTOSS will create  a  file  called
  2057.     'MSGWAIT.BAT'  which  can be tested for existance in your  batch  file,
  2058.     example:
  2059.  
  2060.          :RECMAIL
  2061.             MSGTOSS /WAIT-F
  2062.             If Not Exist MSGWAIT.BAT Goto Start
  2063.  
  2064.             Lock out [J]oin Conference command .....
  2065.             MSGTOSS /TOSS /PREP /MWSET
  2066.             SCAN, Etc ....
  2067.             Un-lock  [J]oin Conference command .....
  2068.             Goto Start
  2069.  
  2070.  
  2071.     This  provides a means to allow sysops running multiple nodes  to  toss
  2072.     mail between callers.   To do this, the sysop should provide a means of
  2073.     locking the [J]oin Conference command to prevent unwanted side effects.
  2074.  
  2075.     MSGTOSS will (upon executing MSGTOSS /WAIT-F) wait up to the amount  of
  2076.     minutes specified by the CONFWAIT---> parameter.   If the time expires,
  2077.     then  MSGTOSS will exit back to DOS without creating MSGWAIT.BAT.   The
  2078.     sysop  can,  however,  press [C]ontinue and  MSGTOSS  will  contine  to
  2079.     process,  as  if  all users are now off-line.   This  functions  as  an
  2080.     override.
  2081.  
  2082.  
  2083.                                  INSTALLATION
  2084.                                  ------------
  2085.  
  2086.     First,  modify the MSGTOSS.BBS file to suit your system  configuration. 
  2087.     Make sure you specify full path names for each conference.   If you are
  2088.     already running RBBSMAIL,  simply copy your existing AREAS.BBS file and
  2089.     add the '|Rxxxx|' and the Fido Areas using the example MSGTOSS.BBS file
  2090.     as an example.   Remember,  the areas NETMAIL and UNKNOWN are required!  
  2091.     For  faster execution of MSGTOSS,  you can delete all of the  parameter
  2092.     commands  that are at the bottom of the MSGTOSS.CFG file,  but  DO  NOT
  2093.     DELETE any of the "---->" lines, even if you think they do not apply!
  2094.  
  2095.     For  this  preliminary  testing,  set  the  "|Rxxxx|"   values  to  say
  2096.     "|R9999|",  as  these values will be changed when you get  the  MSGTOSS
  2097.     "/STAT"  command line switch working properly.   The /STAT command will
  2098.     tell you the exact sizes of your message bases.
  2099.  
  2100.     Second, modify the MSGTOSS.CFG file using your favorite editor:   These
  2101.     marked with the "<--*" are the most critical.   Other parameters can be
  2102.     adjusted as you become more familiar with MSGTOSS.
  2103.  
  2104.  
  2105.  
  2106.                                       PAGE: 32
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.                                 MSGTOSS Version 1.3
  2115.  
  2116.  
  2117.  
  2118.     FILES------->C:\MAIL\FILES\                                        <--*
  2119.     WORKDIR----->M:\                                                   <--*
  2120.     LOGDIR------>C:\BT\                                                <--*
  2121.     MESSAGES---->C:\RBBS\MESSAGES                                      <--*
  2122.     RBBS-MAX---->999
  2123.     ELASTIC----->NO
  2124.     MARGIN------>72
  2125.     SECL-------->SEEN-BY:
  2126.     SECL-------->
  2127.     DUPFILE----->MSGTOSS.EID
  2128.     MAXAREAS---->100                                                   <--*
  2129.     DUPSIZE----->100                                                   <--*
  2130.     UNARCH------>SPAZ -F -Q C:\MAIL\FILES C:\BT\                       <--*
  2131.     CONFWAIT---->10
  2132.     CONFLOCK---->ALLFIG C:\RBBS\ALL1 130 N J 100 \n                    <--*
  2133.     PKTWILD----->*.PKT *.?UT
  2134.     PURGECMD---->MU-PURGE [MSGFILE] /MSG:PIP
  2135.     RENUMCMD---->MSGRENUM /MSG:[MSGFILE] /USR:[USRFILE] /DDA /FIX
  2136.     MAILWCMD---->MAILWAIT /MSG:[MSGFILE] /USR:[USRFILE] /DDA +
  2137.                  /NAM:MIKE ZAKHAROFF /SYS:100 /FIX /LOG                <--*
  2138.     BLANKMSG---->C:\RBBS\BLANKM.DEF                                    <--*
  2139.     FIXMSGCMD--->FIXMSG [MSGFILE]
  2140.     RENUMBAT---->MSGCLEAN.BAT
  2141.     MAILWBAT---->MSGCLEAN.BAT
  2142.     UTIL1------->MSGCLEAN.BAT
  2143.     UTIL1CMD---->SUBJECT I:[MSGFILE] O:[WELFILE] C:[AREA] L:15 S:
  2144.     UTIL2------->
  2145.     UTIL2CMD---->
  2146.     ECHOSEC----->40                                                    <--*
  2147.     PRIVATE----->NO
  2148.     KILLOVER---->9999                                                  <--*
  2149.     MAINT%LO---->80
  2150.     MAINT%HI---->89
  2151.     DAYSTOSYS--->60
  2152.     DAYSFRSYS--->60
  2153.     DELREADSYS-->NO
  2154.     DAYSTOUSR--->60
  2155.     DAYSFRUSR--->60
  2156.     DELREADUSR-->NO
  2157.     YEAR-------->1989
  2158.     SYSALIAS---->SUPER TOSSER                                          <--*
  2159.     SYSNAME----->!MIKE ZAKHAROFF                                       <--*
  2160.     SYSNAME----->=SYSOP
  2161.     NODE-------->1:343/36                                              <--*
  2162.     NODE-------->8:918/1                                               <--*
  2163.  
  2164.     Next,  copy  the MSGTOSS.CFG file into the same  directory  where  your
  2165.     RBBSMAIL.CFG and your RBBSMAIL 'Areas File' is.
  2166.  
  2167.  
  2168.                           IMPORTANT SPAZ INFORMATION
  2169.  
  2170.  
  2171.  
  2172.                                       PAGE: 33
  2173.  
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.  
  2180.                                 MSGTOSS Version 1.3
  2181.  
  2182.                           --------------------------
  2183.  
  2184.     The  proper  execution of SPAZ is essential to proper  operation!   You
  2185.     *must* set up SPAZ so that the *.PKT files end up in:
  2186.  
  2187.          1) The same directory as the MSGTOSS.CFG and .BBS files -or-
  2188.          2) The same directory as the FILES---> parameter.
  2189.  
  2190.     Therefore,  MSGTOSS  will *only* look in the default directory  or  the
  2191.     FILES---> directory for *.PKT or *.?UT* files!   If you want MSGTOSS to
  2192.     work  on  another drive (due to space considerations)  then  have  your
  2193.     batch file change drives and directories asreq to where you want to be,
  2194.     then use the /BBS:file.ext and /CFG:file.ext command line parameters so
  2195.     MSGTOSS can find its files.
  2196.  
  2197.     You  can  test the proper execution of SPAZ by placing a *.MO*  in  the
  2198.     directory  where you receive mail or files (should be the same  as  the
  2199.     FILES---->  parameter)  and  execute  SPAZ  from  DOS  (directly).   If
  2200.     correct, then the *.PKT should end up in either 1) or 2) as above.
  2201.  
  2202.            NOTE: MSGTOSS  shells  out  to SPAZ  during  default  operation. 
  2203.                  However,  SPAZ also shells out to the  respective  archive
  2204.                  utility!   That  is shelling ontop of  shelling  and  some
  2205.                  computers  do  not like all this shelling.   Therefore  if
  2206.                  your computer locks up while MSGTOSS is trying to  execute
  2207.                  SPAZ,  simply comment out the "UNARCH---->"  parameter and  
  2208.                  execute  SPAZ  in  your  batch  file  PRIOR  to  executing  
  2209.                  MSGTOSS.   This can also be used where memory requirements  
  2210.                  are short.
  2211.  
  2212.  
  2213.                               PRELIMINARY TESTING
  2214.                               -------------------
  2215.  
  2216.     After  you think everything is fine,  try executing 'MSGTOSS /STAT'  to
  2217.     make sure MSGTOSS recognizes all of your message bases.  Errors will be
  2218.     displayed if needed.  This is a good preliminary test.
  2219.  
  2220.     NOTE: Make sure ALL of your conferences are being recognized!
  2221.  
  2222.     When /STAT is working properly,  redirect it to the printer to document
  2223.     the message base statistics ... like this:
  2224.  
  2225.     MSGTOSS /STAT >PRN <rtn>
  2226.  
  2227.     Using the printed output,  check the number of records printed for each
  2228.     message base vice the "|Rxxxx|"  values you entered in your MSGTOSS.BBS
  2229.     file.... adjust if necessary.  If you decide to adjust the sizes of the
  2230.     databases,  simply change the xxxx values to what you think they should
  2231.     be and then further test MSGTOSS by issuing one of the /SIZE  commands. 
  2232.     If you decide that you need to INCREASE the sizes of the message  bases
  2233.     then  issue  the /SIZE-UP command, otherwise issue the  /SIZE  command,
  2234.     which  will ignore any message bases that are LESS than the  number  of
  2235.  
  2236.  
  2237.  
  2238.                                       PAGE: 34
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.                                 MSGTOSS Version 1.3
  2247.  
  2248.     records specified by the xxxx values.
  2249.  
  2250.     WAIT!  - Did you properly adjust the "|Rxxxx|"  values?   Executing the
  2251.     next command may (safely) change the sizes of your message bases.   Are
  2252.     you sure?  If not re-read this section.
  2253.  
  2254.     MSGTOSS /SIZE <rtn>
  2255.  
  2256.     If  all seems well then RESET all of your MAILWAITING bits  by  issuing
  2257.     the /MWRST command .... like this:
  2258.  
  2259.     MSGTOSS /MWRST <rtn>
  2260.  
  2261.     This will first BLANK-OUT all of the mailwaiting bits, then re-hash all
  2262.     of  the users.   Note that the sysops mailwaiting bits will be  set  in
  2263.     accordance with the SYSNAMES(s) and SYSALIAS parameters entered.  It is
  2264.     recommended that you do NOT use '!SYSOP' for a SYSNAME as every message
  2265.     entered  to  'JOE SYSOP'   or  'MORT SYSOP'  will  cause  the  SYSALIAS
  2266.     mailwaiting bits to be set.  '=SYSOP'  is recommended (only),  but suit
  2267.     your self.
  2268.  
  2269.  
  2270.                               FIRST TOSSING TEST
  2271.                               ------------------
  2272.  
  2273.     Assuming the preliminary tests went ok,  place a small "*.MO*"  arcmail
  2274.     packet  or '*.PKT'  into your FILES---> directory and test the  tossing
  2275.     using....
  2276.  
  2277.     MSGTOSS /TOSS /PREP /MWSET <rtn>
  2278.  
  2279.     Did it work?  If it didn't work.... re-read this manual (especially the
  2280.     THEORY OF MSGTOSS) and try again.  A good understanding of how  MSGTOSS
  2281.     works should help you understand what may have gone wrong.
  2282.  
  2283.     You  may  want  to  experiment using  the  other  common  command  line
  2284.     switches, such as /CDUP, /MWSET, /DDA etc.
  2285.  
  2286.     Executing with the /CDUP switch the first time will create MSGTOSS.EID. 
  2287.     Depending  on the values of MAXAREAS and DUPSIZE (mostly) the  size  of
  2288.     the EID database file will vary considerably.   The approximate size of
  2289.     the EID database file can be estimated using the following formula:
  2290.  
  2291.     ((13 * DUPSIZE) * NUMBER.OF.AREAS.YOU.HAVE)) + (MAXAREAS * 26)
  2292.  
  2293.     Good luck...
  2294.  
  2295.  
  2296.  
  2297.  
  2298.                     FRONTEND MAILER BATCH FILE MODIFICATION
  2299.                     ---------------------------------------
  2300.  
  2301.  
  2302.  
  2303.  
  2304.                                       PAGE: 35
  2305.  
  2306.  
  2307.  
  2308.  
  2309.  
  2310.  
  2311.  
  2312.                                 MSGTOSS Version 1.3
  2313.  
  2314.     This  assumes that you have decided that MSGTOSS is the  greatest  RBBS
  2315.     tossing utility you have ever seen,  and are going to commit it to your
  2316.     system for full-time operation.
  2317.  
  2318.     Using the following batch file excerpt as a guide, test MSGTOSS to make
  2319.     sure it works as stated.  It is highly recommended that you set up some
  2320.     sort of 'TEST-JIG' batch file to convince yourself that it works.
  2321.  
  2322.     Here  is an example.   Note that this can take on many different  forms
  2323.     and this is just a PORTION of the batch file.
  2324.  
  2325.     WARNING!: Save your old setup,  incase you can't seem to get MSGTOSS to
  2326.               work  properly,  its 2:00 am,  and you are expecting a 1  meg
  2327.               packet any minute.   In other words,  don't shoot yourself in
  2328.               the foot.   REM out your existing batch file commands  FIRST,
  2329.               then when you are satisfied MSGTOSS is working perfect,  then
  2330.               remove the old batch file lines (after a week).
  2331.  
  2332.  
  2333.                               BATCH FILE EXAMPLE
  2334.                               ------------------
  2335.  
  2336.     MSGCLEAN  is  created  by MSGTOSS  and  contains  RENUMBERING  and
  2337.     message  maintenance  commands.     Also,  the  /FMAS  and   /SECL
  2338.     switch(s) on the "MSGTOSS /TOSS ..."  command line is recommended.  
  2339.     But you MUST FULLY UNDERSTAND what they do!   Read DOCS  throughly
  2340.     on these.
  2341.  
  2342.  
  2343.     Example of a Single Node system, with minimum command line switches.
  2344.  
  2345.     :START
  2346.          Execute Binkley.... Blah, blah....
  2347.  
  2348.     :RECMAIL
  2349.          C:
  2350.          CD\BT
  2351.          Msgtoss /TOSS /PREP /MWSET
  2352.          If Exist Msgclean.bat Call Msgclean.bat
  2353.  
  2354.     :SCAN
  2355.          rbbsmail /f:arearbbs.bbs scan /l /o
  2356.          ommm -iC:\BT\binkley.prm -mC:\MAIL\NMAIL\ -hC:\BT\OUT\ -cC:\BT\ommm.ctl -d -z1 -q -a
  2357.          Goto START
  2358.  
  2359.     ------------------------------------------------------------------------
  2360.     Example of a Multi-Node system,  using ALLFIG to lock-out the  [J]
  2361.     command  before tossing.   Uses the /WAIT switch to make sure  all
  2362.     users are off-line. The /WAIT-F will exit, creating MSGWAIT.BAT if
  2363.     all  clear.   Using just /WAIT will instead SHELL out and  execute
  2364.     the  CONFLOCK command and return to MSGTOSS to  complete  tossing. 
  2365.     Also notice the /PKTS:2 switch.   This tells MSGTOSS to NOT CREATE
  2366.     msgwait.bat UNLESS there are at least 2 PKTs.
  2367.  
  2368.  
  2369.  
  2370.                                       PAGE: 36
  2371.  
  2372.  
  2373.  
  2374.  
  2375.  
  2376.  
  2377.  
  2378.                                 MSGTOSS Version 1.3
  2379.  
  2380.  
  2381.     Every time your binkley.bat (or other front end mailer) batch file
  2382.     is executed, the bat file will check to see whether there are PKTS
  2383.     to process.  If there are,  it will go through the RECMAIL portion
  2384.     to make sure all users are off-line.   If all users are  off-line,
  2385.     MSGTOSS will process.  If not, it will wait till the next time the
  2386.     batch  file  is executed and try again.  Also  notice  the  "SPAZ"
  2387.     command  in  the  batch file.   This is taken  directly  from  the
  2388.     MSGTOSS.CFG file and the "UNARCH---->"  parameter is commented out
  2389.     by a ";".  The reason for executing SPAZ exterior to MSGTOSS is so
  2390.     you can  detect the presence off *.PKTs at the TOP of your Binkley
  2391.     batch  file.   In  other words, the mail  packets  (arcmail)  will
  2392.     ALWAYS  be  unarched  after  you receive mail  by  SPAZ,  but  not
  2393.     processed by MSGTOSS until all users are off line.
  2394.  
  2395.  
  2396.     If Exist C:\BT\*.PKT Goto RECMAIL
  2397.     If Exist C:\BT\*.?UT Goto RECMAIL
  2398.  
  2399.     :START
  2400.          Execute Binkley.... Blah, blah....
  2401.  
  2402.     :RECMAIL
  2403.          C:
  2404.          CD\BT
  2405.          SPAZ -F -Q C:\MAIL\FILES C:\BT\
  2406.          Msgtoss /WAIT-F /PKTS:2
  2407.          If Not Exist Msgwait.bat Goto START
  2408.          ALLFIG C:\RBBS\ALL1 130 N J 100 \n
  2409.          Msgtoss /TOSS /PREP /MWSET
  2410.          If Exist Msgclean.bat Call Msgclean.bat
  2411.  
  2412.     :SCAN
  2413.          rbbsmail /f:arearbbs.bbs scan /l /o
  2414.          ommm -iC:\BT\binkley.prm -mC:\MAIL\NMAIL\ -hC:\BT\OUT\ -cC:\BT\ommm.ctl -d -z1 -q -a
  2415.          ALLFIG C:\RBBS\ALL1 130 N J 40 \n
  2416.          Goto START
  2417.  
  2418.  
  2419.     -----------------------------------------------------------------------
  2420.     After  everything is working perfect, read the section  on  Performance
  2421.     Optimum to find out how to get the fastest performance from MSGTOSS and
  2422.     RBBSMAIL.  Good luck!
  2423.     -----------------------------------------------------------------------
  2424.  
  2425.  
  2426.                      BAD PACKETS, SEVERE ERRORS, OVERFLOWS
  2427.                      -------------------------------------
  2428.  
  2429.     MSGTOSS will (if it encounters a severe error while processing a  *.PKT
  2430.     file)  delete  the corresponding *.IDX file,  and rename the  *.PKT  to
  2431.     *.BAD  to prevent MSGTOSS from processing it again.   You may  want  to
  2432.     test for the condition of *.BAD in you batch file to alert you.
  2433.  
  2434.  
  2435.  
  2436.                                       PAGE: 37
  2437.  
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.                                 MSGTOSS Version 1.3
  2445.  
  2446.  
  2447.     In  addition,  MSGTOSS will (whenever possible) continue on  processing
  2448.     even though it came upon a severe error.  MSGTOSS creates a MSGTOSS.ERR
  2449.     file that contains things it couldn't handle,  but processed anyway (or
  2450.     ignored), like trashed message headers, severe errors, etc.  Again, you
  2451.     may want to test for the existance of MSGTOSS.ERR as part of your batch
  2452.     file.  MSGTOSS.ERR should be reviewed periodically.
  2453.  
  2454.     If  you  keep extremely large message bases over 4000  (RBBS-MAX  *  4)
  2455.     records,  it is possible for your message bases to exceed  the  RBBS-PC
  2456.     maximum of 999 (RBBS-MAX) messages per message base.  Therefore MSGTOSS
  2457.     will  do  a  "pre-count"  of  the  messages  prior  to  tossing.   This
  2458.     "pre-count"  is automatic and is triggered only when MSGTOSS senses the
  2459.     over 4000 record (RBBS-MAX * 4) message base.
  2460.  
  2461.     In the event of an "overflow", MSGTOSS will not allow any more messages
  2462.     to  be  imported into the message base,  but will allow  other  message
  2463.     bases  to be processed as normal.  After the *.PKT is tossed  normally,
  2464.     MSGTOSS  will  re-name the *.PKT to *.OFL (for overflow)  and  log  the
  2465.     occurance  of the overflow into the MSGTOSS.LOG and MSGTOSS.ERR  files. 
  2466.     The sysop can then elect to fix the overflow problem,  or simply delete
  2467.     the  *.OFL  file.  Tossing  of  selected echos  are  possible  via  the
  2468.     "/AREA:xxx" command line switch (see "/AREA:xxx" switch).
  2469.  
  2470.     MSGTOSS was beta tested to the hilt,  but there still is a  possibility
  2471.     of  receiving a *.PKT file that is beyond the capability of MSGTOSS  to
  2472.     process.  If this happens, then try executing with the '/FORCE'  switch
  2473.     as part of the command line parameters (along with the '/TOSS') to  see
  2474.     if it works.   If you are a supporter of MSGTOSS,  send the *.PKT to me
  2475.     for analysis and a possible fix.   If you are a non-supporter,  then  I
  2476.     may  be interested,  but don't expect me to bend over backwards to  fix
  2477.     your problem.  Future upgrades and enhancements DEPEND on the amount of
  2478.     support I receive.
  2479.  
  2480.  
  2481.                                     EPILOG
  2482.                                     ------
  2483.  
  2484.     I  would like to know what you think of this program!   Call my BBS  or
  2485.     drop me Netmail or catch me in the RBBS-PC or RBBSMAIL_PACK echo that I
  2486.     participate  in.   Future upgrades or enhancements will depend  on  how
  2487.     much support I receive from the users of MSGTOSS.   MSGTOSS took 1000's
  2488.     of  hours  to  create and I believe it to be one  of  the  finest  mail
  2489.     tossers in the Fidonet community,  as well as for RBBS-PC.   If you use
  2490.     this  program  then please help support it.   Supporters  will  receive
  2491.     almost instantaneous support for problems.   The bottom line is if  you
  2492.     want  support,   then  support.    Otherwise  you  are  on  your   own.  
  2493.     Meanwhile, happy BBSing!
  2494.  
  2495.  
  2496.                            PERFORMANCE OPTIMIZATION
  2497.                            ------------------------
  2498.  
  2499.  
  2500.  
  2501.  
  2502.                                       PAGE: 38
  2503.  
  2504.  
  2505.  
  2506.  
  2507.  
  2508.  
  2509.  
  2510.                                 MSGTOSS Version 1.3
  2511.  
  2512.     Here are a few tips to make your mail events as fast as possible.
  2513.  
  2514.        1) Use a disk cache!  Even just a 64K cache makes a BIG difference!
  2515.  
  2516.        2) Use the /FMAS switch if at all possible.   This will  DRASTICALLY
  2517.           increase the speed of RBBSMAIL scanning,  as RBBSMAIL will ignore
  2518.           any messages tossed my MSGTOSS.  Read docs throughly!
  2519.  
  2520.        3) Use the /SECL switch if at all possible.   This can ONLY be  used
  2521.           with  the /FMAS switch.   May be necessary to use /MAXM:x  switch
  2522.           or the "ELASTIC---->" parameter.  Read docs throughly!
  2523.  
  2524.        4) Use  the  /NSTOP and /DDA switches, as this will  also  speed  up
  2525.           MSGTOSS.  Read docs.
  2526.  
  2527.        5) Consider NOT using the automatic DUP checker (/CDUP switch).   If
  2528.           your hub faithfully checks for dups then it may not be necessary.
  2529.  
  2530.        6) Use  a  RAM  disk  and  execute  MSGTOSS  with  the  /WDIR  (work
  2531.           directory)  command line switch.   The RAM disk is configured  by
  2532.           the WORKDIR---> parameter in the MSGTOSS.CFG file.  Will speed up
  2533.           purging, mailwaiting, sizing & tossing (if using /CDUP).
  2534.  
  2535.        7) Use  a  disk  de-fragmentator AFTER your main  mail  run  on  the
  2536.           drive where the RBBS message bases exist.   Tossing and  scanning
  2537.           will fragmentate the message bases.
  2538.  
  2539.        8) Keep your conference USERS file(s) small (mine have ONLY 32  user
  2540.           records!) and purge them after so many months of inactivity.   If
  2541.           a  user  decides  to  browse the  conference  but  doesn't  enter
  2542.           messages;  MSGTOSS,  MSGRENUM etc. will slow down because it will
  2543.           be looking for messages to/from that inactive user.   You can set
  2544.           up a daily MU-PURGE control file to do this.   Here is an example
  2545.           of mine:
  2546.  
  2547.           C:\RBBS\users        /USR:D365 LOG /10 /25 (C:\RBBS\messages)
  2548.           C:\RBBS\commu.def    /USR:D30  LOG /40 /60 (C:\RBBS\commm.def)
  2549.           C:\RBBS\consultu.def /USR:D30  LOG /40 /60 (C:\RBBS\consultm.def)
  2550.           C:\RBBS\cookingu.def /USR:D30  LOG /40 /60 (C:\RBBS\cookingm.def)
  2551.           C:\RBBS\c_prgmu.def  /USR:D30  LOG /40 /60 (C:\RBBS\c_prgmm.def)
  2552.  
  2553.           Notice that they get BOOTED out of the conference if they haven't
  2554.           entered  it in over 30 days.  In addition,  once they are  purged
  2555.           then  any  messages that they left or are waiting  will  also  be
  2556.           purged.   All  of  my 'U.DEF'  files are only  4096  bytes,  good
  2557.           for only 32 users (I haven't run out of room yet).
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.                                       PAGE: 39
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.                                 MSGTOSS Version 1.3
  2577.  
  2578.  
  2579.                       MSGTOSS.EID DATABASE FILE STRUCTURE
  2580.                       -----------------------------------
  2581.  
  2582.     This information is provided for those who seek to modify the SIZES  of
  2583.     the MSGTOSS.EID file, and care to not loose its data.  By default,  the
  2584.     creation  of  the MSGTOSS.EID file is a 'one-time-shot'  process.   The
  2585.     sizes you choose (MAXAREAS & DUPSIZE) are going to affect the speed  of
  2586.     tossing.   The larger you make the DUPSIZE parameter,  the  slower  the
  2587.     processing.   If you wish to change the SIZE of the  MSGTOSS.EID  file,
  2588.     the only way is by erasing the old one,  change the DUPSIZE  parameter,
  2589.     and  execute  MSGTOSS again.   However,  for the hacker,  this  is  the
  2590.     format...
  2591.  
  2592.  
  2593.     The  MSGTOSS.EID  file is opened in TWO phases,  once as  26  bytes  in
  2594.     length, and then again as 13 bytes in length.
  2595.  
  2596.     Initially,  its  opened  as 26 bytes in length to load  its  keys  into
  2597.     memory.
  2598.  
  2599.     Opened with length of 26 bytes....
  2600.  
  2601.     Record 1  -  MSGTOSS.EID Header,  tells MSGTOSS what size the EID  file
  2602.                  is, so MSGTOSS can make sure it matches what was specified
  2603.                  in the CFG file parameters, DUPSIZE and MAXAREAS.
  2604.  
  2605.                  Record Length, 26 bytes.
  2606.  
  2607.                  01-04 MAXAREAS parameter, as CVS(MAXAREAS)
  2608.                  05-08 DUPSIZE  parameter, as CVS(DUPSIZE)
  2609.                  09-26 Fill...
  2610.  
  2611.     Records 2 - (MAXAREAS+1)
  2612.  
  2613.                  Record Length, 26 bytes.
  2614.  
  2615.                  This is where the INDEXES are stored for all of the AREAS,
  2616.                  and  is crucial to proper operation of the  EID  database. 
  2617.                  This area is built when you first decided how big to  make
  2618.                  your EID file by selecting the MAXAREAS parameter.
  2619.  
  2620.                  01-04  as CVS(START) where START is the record (opened  as
  2621.                  13 bytes) where the EID codes start for this area.
  2622.  
  2623.                  05-08 as CVS(NEXT) where NEXT is the record (opened as  13                     
  2624.                  bytes)  where  the NEXT EID code may  be   written.   This
  2625.                  number    will   ALWAYS   be   between   CVS(START)    and
  2626.                  CVS(START)+DUPSIZE.
  2627.  
  2628.                  09-09 as TEXT (either a '+' or a '-').  The '+'  indicates
  2629.                  that  it is an ACTIVE area and a '-'  indicates it  is  an
  2630.                  AVAILABLE area.
  2631.  
  2632.  
  2633.  
  2634.                                       PAGE: 40
  2635.  
  2636.  
  2637.  
  2638.  
  2639.  
  2640.  
  2641.  
  2642.                                 MSGTOSS Version 1.3
  2643.  
  2644.  
  2645.                  This  flag  is  reset  EVERY  TIME  you  execute  MSGTOSS. 
  2646.                  MSGTOSS  will  initially  set  all  areas  to  '-',   then                   
  2647.                  change  each  to  a  '+'  as it  finds  the  area  in  the                       
  2648.                  MSGTOSS.BBS  file.   If it finds that  a  particular  area                      
  2649.                  is  NOT located in the EID database,  it will then  search                       
  2650.                  for  the  first  available '-', erase the  AREA  that  was                      
  2651.                  there, clear out the DATA area, and assign the area.
  2652.  
  2653.                  10-26 as TEXT for AREA: name.  Note that only the FIRST 16                     
  2654.                  characters  of the AREA: tag are  significant!   Therefore                      
  2655.                  if  you  have  two  echos  called  WHATAGREATECHOMAN1  and                      
  2656.                  WHATAGREATECHOMAN2  then  they will end up  occupying  the                      
  2657.                  same data space, so beware...
  2658.  
  2659.     End of opening the EID database as 26 characters.
  2660.  
  2661.     The  starting  location for each echo CVS(START) and  location  of  the
  2662.     nextavailable  record  where an EID code may be written  CVS(NEXT)  are
  2663.     loaded into memory and are the records (when the EID database is opened
  2664.     as 13 bytes!) where EID information resides.   The END record for  each
  2665.     area is derived as CVS(START)+DUPSIZE, as DUPSIZE is always a CONSTANT.
  2666.  
  2667.     Records (MAXAREAS*2)+3 -  ??????
  2668.  
  2669.                  Is  the  DATA  area for all the EID codes  (opened  as  13
  2670.                  bytes).   At the END of each MSGTOSS session,  the file is
  2671.                  closed and re-opened as 26 bytes, and all of the CVS(NEXT)
  2672.                  parameters are updated to the numbers resident in memory.
  2673.  
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.                                       PAGE: 41
  2701.  
  2702.  
  2703.  
  2704.  
  2705.  
  2706.  
  2707.  
  2708.                                 MSGTOSS Version 1.3
  2709.  
  2710.  
  2711.                               REVISIONS/BUG FIXES
  2712.                               -------------------
  2713.  
  2714.           ------------------ Version 1.0 (12/22/89) ----------------
  2715.  
  2716.     Original Release.
  2717.  
  2718.           ------------------ Version 1.1 (12/28/89) ----------------
  2719.  
  2720.     Found a horrible bug which was overlooked by author testing and by  the
  2721.     beta testers, due to coincidence.   MSGTOSS looks for a carriage return
  2722.     character to signify end of line.  This is the HEX character "0D".   On
  2723.     each message, the destination and origin NET/NODE numbers are placed on
  2724.     the  message header.   Some NET/NODE numbers (as stored on the  message
  2725.     header) contain the HEX character 0D,  thus MSGTOSS would get  confused
  2726.     and think it found the end of the line.  The reason this was not caught
  2727.     before  was that all beta testers (and myself) NET/NODE numbers do  NOT
  2728.     contain HEX 0D, thus the problem never showed up before.
  2729.  
  2730.     Any  Fidonet or RBBS-NET node whose NET -or- NODE number  contains  13,
  2731.     269,  525 or 1037, MSGTOSS 1.0 would NOT work at all.  If any (working)
  2732.     system  receives mail from these systems,  MSGTOSS 1.0 would  not  work
  2733.     properly, as it would ignore mail from these systems.
  2734.  
  2735.     The good news is that 1.1 permanently fixes this problem.
  2736.  
  2737.           ------------------ Version 1.2 (02/13/90) ----------------
  2738.  
  2739.      1) Added "MARGIN----->" parameter to the MSGTOSS.CFG file.
  2740.  
  2741.      2) Added "SECL------->" parameter(s) to the MSGTOSS.CFG file.
  2742.  
  2743.      3) Added "RBBS-MAX--->" parameter to the MSGTOSS.CFG file.
  2744.  
  2745.      4) Added "ELASTIC---->" parameter to the MSGTOSS.CFG file.
  2746.  
  2747.      5) Added the /SECL command line switch
  2748.  
  2749.      6) Added the /MAXM:x command line switch
  2750.  
  2751.      7) Added the /MRGN:xx command line switch
  2752.  
  2753.      8) Added the /AREA:xxx or /AREA: @listfile.exe command line switch
  2754.  
  2755.      9) Added the /DKP command line switch
  2756.  
  2757.     10) Removed the /MORE command line switch
  2758.  
  2759.     10) Changed  the format of MSGTOSS.LOG slightly.  Now  reports  message
  2760.         base expansion to MSGTOSS.LOG file.
  2761.  
  2762.     11) Fixed  a bug in the /SIZE or /SIZE-UP routine,  where  MSGTOSS  may
  2763.  
  2764.  
  2765.  
  2766.                                       PAGE: 42
  2767.  
  2768.  
  2769.  
  2770.  
  2771.  
  2772.  
  2773.  
  2774.                                 MSGTOSS Version 1.3
  2775.  
  2776.         chop off the last couple of messages entered.
  2777.  
  2778.     12) Fixed  bug in message base expansion routine,  where MSGTOSS  would
  2779.         not properly update the 'Max Messages' value in the message base.
  2780.  
  2781.     13) Added  code to delete current *.IDX file if run out of  disk  space
  2782.         while analyzing.
  2783.  
  2784.     14) Added  code to prevent tossing of over 999 messages into  a  single
  2785.         conference & create a *.OFL (overflow) packet.
  2786.  
  2787.     15) Added  code so in the waiting mode (/WAIT switches) the  sysop  can
  2788.         over-ride the waiting process (by pressing [C]ontinue) and  MSGTOSS
  2789.         continue to process anyway, even though a user is still on-line.  
  2790.  
  2791.     16) Added code so the " * Origin:" line will not be formated,  but will
  2792.         instead appear as a single line (as long as the MARGIN is >= 72.)
  2793.  
  2794.     17) Added  code  where if you enter "MSGTOSS <rtn>"  all  command  line
  2795.         switches will be neatly displayed.
  2796.  
  2797.     18) Added code to display the affected AREA:  when an error message  is
  2798.         displayed such as duplicate, oversized, bad date, etc.
  2799.  
  2800.           ------------------ Version 1.3 (03/31/90) ----------------
  2801.  
  2802.      1) Added "WORKDIR---->" parameter to the MSGTOSS.CFG file.
  2803.  
  2804.      2) Added "LOGDIR----->" parameter to the MSGTOSS.CFG file.
  2805.  
  2806.      3) Added "BLANKMSG--->" parameter to the MSGTOSS.CFG file.
  2807.  
  2808.      4) Added the /FIXC command line switch
  2809.  
  2810.      5) Added the /WDIR command line switch
  2811.  
  2812.      6) Modified the display functions (purging,  sizing,  expanding) to be
  2813.         more connsistant.
  2814.  
  2815.      7) Added  to  the status line the number of messages left  to  process
  2816.         (count-down), updated with new packet.
  2817.  
  2818.      8) Added code to check for message base corruption during  mailwaiting
  2819.         & pre-counting phases, execute FIXMSG is /FIX or /FIXC is active.
  2820.  
  2821.      9) Added  time statistics,  purging totals &  messages skipped to  the
  2822.         MSGTOSS.LOG file
  2823.  
  2824.     10) Fixed  bug where an extremely small packet from net 269  (or  other
  2825.         net  with  0DH  in message header) may not always  get  deleted  by
  2826.         MSGTOSS, causing repeated tossing.
  2827.  
  2828.     11) Fixed  bug where MSGTOSS may not correctly set position 82  of  the
  2829.  
  2830.  
  2831.  
  2832.                                       PAGE: 43
  2833.  
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.                                 MSGTOSS Version 1.3
  2841.  
  2842.         checkpoint  record (last record in message file) when MAINT%LO  and
  2843.         MAINT%HI are each set to 100 (for ELASTIC operation).
  2844.  
  2845.     12) Added  code  so the " Origin:"  line will always be formated  to  a
  2846.         margin of 79, (as long as the MARGIN is >= 72.)
  2847.  
  2848.     13) Fixed  minor  bug  where if message base is  100%  full  the  /STAT
  2849.         command  may  report  number of free records to  be  -1  (vice  0),
  2850.         throwing off the Full% column.
  2851.  
  2852.     14) Added code to make sure MAINT%LO and MAINT%HI are properly set  and
  2853.         abort if not proper ( %LO < %HI, within 0-100).
  2854.  
  2855.     15) Added  code  to PAGE excess users to disk of MSGTOSS  runs  out  of
  2856.         memory  during  the purging or mailwaiting phases.   MSGTOSS  could
  2857.         only  handle about 2000 users before,  if exceeded would result  in
  2858.         "out of string space"  error.   New limit is 32000,  but is  slowed
  2859.         down if paging is required.
  2860.  
  2861.     16) New  parameter  LOGDIR allows selection of where  the  MSGTOSS.LOG,
  2862.         MSGTOSS.ERR & MSGTOSS.DUP go.
  2863.  
  2864.     17) New parameter WORKDIR (work directory, on by /WDIR switch) can be a
  2865.         RAM disk that will be used (if enough space available) to copy  the
  2866.         message  base being purged,  sized, or the MSGTOSS.EID  file  while
  2867.         tossing.   MSGTOSS  will automatically copy to/from and  delete  as
  2868.         required to keep RAM disk cleared.  In addition,  if paging  excess
  2869.         users  to  disk  is required,  MSGTOSS will use  the  RAM  disk  if
  2870.         possible.
  2871.  
  2872.     18) New parameter BLANKMSG (in conjunction with new /FIXC switch)  will
  2873.         copy a small, blank message base (you create via RBBS's CONFIG.EXE)
  2874.         if MSGTOSS detects a corrupt message base and FIXMSG was unable  to
  2875.         fix twice.  Corrupt message base will be renamed to *.BAD
  2876.  
  2877.     19) Revised documentation, added table of contents.
  2878.  
  2879.  
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.                                       PAGE: 44
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.